英文原文: http://www.456bereastreet.com/archive/200601/css_3_selectors_explained/
中文翻譯: http://www.dudo.org/article.asp?id=197
注:本文寫(xiě)于2006年1月,當(dāng)時(shí)IE7、IE8和Firefox3還未發(fā)行,文中所有說(shuō)的瀏覽器支持均未包括這三個(gè)版本的瀏覽器。在IE8和Firefox3中,文中的大部分選擇符已經(jīng)被支持[dudo注]
在2005年的9月和10月,我先后發(fā)表了幾篇關(guān)于CSS2.1中選擇符的介紹文章。大體看來(lái)那幾篇文章中介紹過(guò)的大部分選擇符都已經(jīng)可以在像Mozilla/Firefox,Safari和Opera等現(xiàn)代瀏覽器中使用了。我們現(xiàn)在要做的就是等待Internet Explorer盡快趕上來(lái),那我們就可以盡情地使用CSS2.1中的選擇符了。好在Internet Explorer在其第7個(gè)版本中已經(jīng)在盡力追趕了,至少在某些擴(kuò)展方面。
如果我們?cè)傧蚯翱匆稽c(diǎn),在CSS3中還有功能更加強(qiáng)大的選擇符等待我們?nèi)グl(fā)掘和使用。CSS3中的很多選擇符已經(jīng)在現(xiàn)代瀏覽器中得到很好的應(yīng)用(IE8.0中也已經(jīng)部分地支持了CSS3,dudo注),但是這些基本功能上的支持還遠(yuǎn)遠(yuǎn)不能滿足開(kāi)發(fā)者使用的要求。但是在某些情況下使用他們可以帶來(lái)很好的超前體驗(yàn),因此我認(rèn)為了解一下CSS 3新增選擇符是如何使用還是有益處的。
本文中對(duì)選擇符描述主要是參考了《2005年12月15日W3C制定的選擇符草稿》。草稿中講到的新的選擇符可能會(huì)在CSS的第3個(gè)版本中出現(xiàn),但是也可能會(huì)出現(xiàn)在其他語(yǔ)言中。如果你是幾個(gè)月前甚至是幾年前讀過(guò)這篇草稿,那么現(xiàn)在你應(yīng)該再去看一下是不是已經(jīng)出現(xiàn)了最新版本了。
這里我不打算去解釋CSS選擇符工作的基本原理。如果你想重要復(fù)習(xí)一下的話,最好從《細(xì)說(shuō)CSS2.1中的選擇符》開(kāi)始。 首先,快速瀏覽一下CSS3中新增的選擇符:
CSS3選擇符語(yǔ)法概覽:
選擇符類型 |
表達(dá)式 |
描述 |
子串匹配的屬性選擇符 |
E[att^="val"] |
匹配具有att屬性、且值以val開(kāi)頭的E元素 |
子串匹配的屬性選擇符 |
E[att$="val"] |
匹配具有att屬性、且值以val結(jié)尾的E元素 |
子串匹配的屬性選擇符 |
E[att*="val"] |
匹配具有att屬性、且值中含有val的E元素 |
結(jié)構(gòu)性偽類 |
E:root |
匹配文檔的根元素。在HTML中,根元素永遠(yuǎn)是HTML |
結(jié)構(gòu)性偽類 |
E:nth-child(n) |
匹配父元素中的第n個(gè)子元素E |
結(jié)構(gòu)性偽類 |
E:nth-last-child(n) |
匹配父元素中的倒數(shù)第n個(gè)結(jié)構(gòu)子元素E |
結(jié)構(gòu)性偽類 |
E:nth-of-type(n) |
匹配同類型中的第n個(gè)同級(jí)兄弟元素E |
結(jié)構(gòu)性偽類 |
E:nth-last-of-type(n) |
匹配同類型中的倒數(shù)第n個(gè)同級(jí)兄弟元素E |
結(jié)構(gòu)性偽類 |
E:last-child |
匹配父元素中最后一個(gè)E元素 |
結(jié)構(gòu)性偽類 |
E:first-of-type |
匹配同級(jí)兄弟元素中的第一個(gè)E元素 |
結(jié)構(gòu)性偽類 |
E:only-child |
匹配屬于父元素中唯一子元素的E |
結(jié)構(gòu)性偽類 |
E:only-of-type |
匹配屬于同類型中唯一兄弟元素的E |
結(jié)構(gòu)性偽類 |
E:empty |
匹配沒(méi)有任何子元素(包括text節(jié)點(diǎn))的元素E |
目標(biāo)偽類 |
E:target |
匹配相關(guān)URL指向的E元素 |
UI元素狀態(tài)偽類 |
E:enabled |
匹配所有用戶界面(form表單)中處于可用狀態(tài)的E元素 |
UI元素狀態(tài)偽類 |
E:disabled |
匹配所有用戶界面(form表單)中處于不可用狀態(tài)的E元素 |
UI元素狀態(tài)偽類 |
E:checked |
匹配所有用戶界面(form表單)中處于選中狀態(tài)的元素E |
UI元素狀態(tài)偽類 |
E::selection |
匹配E元素中被用戶選中或處于高亮狀態(tài)的部分 |
否定偽類 |
E:not(s) |
匹配所有不匹配簡(jiǎn)單選擇符s的元素E |
通用兄弟元素選擇器 |
E ~ F |
匹配E元素之后的F元素 |
如果對(duì)上面的描述還不是很清楚的,請(qǐng)不要擔(dān)心。本文下面的部分將會(huì)對(duì)他們進(jìn)行更加詳細(xì)的講解,并且提供例子來(lái)演示他們是怎么使用的。
出處:藍(lán)色理想
責(zé)任編輯:bluehearts
上一頁(yè) 下一頁(yè) 詳解CSS3中的屬性選擇符 [2]
◎進(jìn)入論壇網(wǎng)頁(yè)制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論。
|