英文原文: www.456bereastreet.com/archive/200601/css_3_selectors_explained/
中文翻譯: www.dudo.org/article.asp?id=197
註:本文寫於2006年1月,當時IE7、IE8和Firefox3還未發行,文中所有說的瀏覽器支援均未包含這三個版本的瀏覽器。在IE8和Fir
:nth-of-type()
:nth-of-type()偽類和nth-child()偽類別找使用方法十分相似,只不過他配對的是規則中指明類型的元素。以下的規則將會符合每個屬於父元素中第三個子元素的p元素(屬於第3個子元素的p在一個該當中可能會有很多,只不過他們位於不同的父元素下,dudo註):
p:nth-of-type(3) { background:#ff0; }
#當你想確定是否已經指向了第三個p元素,這種方法會很有用。開始你可能覺得這和使用nth-child效果是一樣的,但是nth-child(3)會把所有的子元素都計算進來,因此結果可能就會不一樣,除非p所有的所有兄弟元素也都是p元素。
:nth-of-type偽類目前還沒有瀏覽器支援。
:nth-last-of-type偽類別
:nth-last-of-type偽類別指向的元素在其後還有若干同類型的元素。和:nth-last-child偽類一樣,它是從最後一個子元素向回數的。下面的規則將會配對到倒數第二個兄弟元素p中(注意:是兄弟、同等級的節點):
p:nth-last-of-type(2) { background:#ff0 ; }
:nth-last-of-type()目前還沒有瀏覽器支援。
:last-child偽類別
:last偽類別指向的是父元素中最後一個子元素。它和:nth-last-child(1)效果是一樣的。下面的規則符合所有屬於父元素中最後一個子元素的p:
p:last-child { background:#ff0; }
:last-childe偽類別可以在基於Mozilla的瀏覽器中使用。 Opera不支援:last-childe偽類,在Safri中存在bug(上面的規則會符合到所有的p元素)。令人稀奇是的它可以在OmniWeb(測試版本5.1.1)中正常使用,儘管這個瀏覽器是基於Safari的。這可能是因為Apple WebKit最新版本的回歸,因為OmniWeb使用的WebKit通常會比Safari版本稍微低一點。
:first-of-type偽類別
:first-of-type偽類別指向同類型元素中的第一個元素。它和:nth-of-type(1)是一樣的。
p:first-of-type { background:#ff0; }
:first-of-type偽類別目前還沒有瀏覽器支援。
:last-of-type偽類別
:last-of-type偽類別指向同類型元素中的最後一個元素。它和nth-last-of-type(1)是一樣的。
p:last-of-type { background:#ff0; }
:last-of-type偽類別目前還沒有瀏覽器支援。
:only-child偽類別
:only-childe偽類別指向的是那些父元素中再沒有其他任何子元素的元素。它和:first-child:last-child或:nth-child(1):nth-last-child(1)是一樣的(後者不夠專業、簡潔)。
p:only-child { backgound:#ff0; }
:only-childe偽類別目前可以在基於Mozilla的瀏覽器中使用。在Safari似乎被解釋成了:first-child(上面的規則會被配對到文件中所有第一個子元素p)。
:only-of-type偽類別
:only-of-type偽類別指向的是那些父元素中再也沒有與之類型相同的子元素。這和:first-of-type:last-of-type或:nth-of-type(1):nth-last-of-type(1)相同(後者專業度不夠)。
p:only-of-type { background:#ff0; }
:only-of-type偽類別目前還沒有瀏覽器支援。
【相關推薦】
1. CSS3免費影片教學
#以上是關於CSS3中選擇符的實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!