解決IE8下CSS3選擇器 :nth-child() 不兼容的問題

1.定義和用法

:nth-child(n) 選擇器匹配屬於其父元素的第 N 個子元素,不論元素的類型
n 可以是數字、關鍵詞或公式。

<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
</ul>

選取上面結構裏面的li

ul li:nth-child(1){
    color:#fff;
}/*選取第一個li*/
ul li:nth-child(odd){
    color:#fff;
}/*選取偶數*/
ul li:nth-child(even){
    color:#fff;
}/*選取奇數*/
ul li:nth-child(3n+1){
    color:#fff;
}/*選取3n+1個元素*/

2.瀏覽器兼容性及解決

由於IE8不支持這種選擇器的寫法,所以以下給出兼容性寫法

ul li:first-child{
    color:#fff;
}/*選取第一個li*/
ul li:first-child+li+li{
    color:#fff;
}/*選取第三個li*/

3.css其他選擇器介紹

  • :nth-of-type() 選擇器 ——選擇器匹配屬於父元素的特定類型的第 N 個子元素的每個元素.
    n 可以是數字、關鍵詞或公式。與:nth-child(n)不同的是後者與類型無關。(同樣不支持IE8)

  • :first-of-type 選擇器匹配屬於其父元素的特定類型的首個子元素的每個元素。
    提示:等同於 :nth-of-type(1)。(同樣不支持IE8)

  • :last-of-type 選擇器匹配屬於其父元素的特定類型的最後一個子元素的每個元素。
    提示:等同於 :nth-last-of-type(1)。(同樣不支持IE8)

  • :only-of-type 選擇器匹配屬於其父元素的特定類型的唯一子元素的每個元素。(同樣不支持IE8)

  • :nth-last-child(n) 選擇器匹配屬於其元素的第 N 個子元素的每個元素,不論元素的類型,從最後一個子元素開始計數。n 可以是數字、關鍵詞或公式。(同樣不支持IE8)
    提示:請參閱 :nth-last-of-type() 選擇器,該選擇器選取父元素的第 N 個指定類型的子元素,從最後一個子元素開始計數。

  • :nth-last-of-type(n) 選擇器匹配屬於父元素的特定類型的第 N 個子元素的每個元素,從最後一個子元素開始計數。n 可以是數字、關鍵詞或公式。(同樣不支持IE8)
    提示:請參閱 :nth-last-child() 選擇器,該選擇器選取父元素的第 N 個子元素,與類型無關,從最後一個子元素開始計數。

  • :last-child 選擇器匹配屬於其父元素的最後一個子元素的每個元素。(同樣不支持IE8)
    提示:p:last-child 等同於 p:nth-last-child(1)。

  • :first-child 選擇器用於選取屬於其父元素的首個子元素的指定選擇器。對於 IE8 及更早版本的瀏覽器中的 :first-child,需要聲明 。

發佈了29 篇原創文章 · 獲贊 78 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章