01
2018
04

解决IE8下CSS3选择器 :nth-child() 不兼容的问题

1.定义和用法

:nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。 
n 可以是数字、关键词或公式。

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

选取上面结构里面的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个元素*/
123456789101112

2.浏览器兼容性及解决办法

由于IE8不支持这种选择器的写法,所以以下给出兼容性写法

ul li:first-child{color:#fff;}
/*选取第一个li*/ul li:first-child+li+li{color:#fff;}
/*选取第三个li,*/
123456

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,需要声明 。


« 上一篇下一篇 »