欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!

 nth-child

这个伪类是 :first-child :last-child的通用版本,用来选择第n个子元素。比如,如果你想选择第2个子元素,你可以使用 :nth-child(2)

li:nth-child(2){ background: violet;}

奇数和偶数(odd even

除了使用直接的数字外,:nth-child 还支持以奇偶数的方式来通配选择子元素,这对于设置一些动态表格样式有帮助。

:nth-child(odd) 目标对象为所有的奇数子元素。

:nth-child(even) 目标对象为所有的偶数子元素。

li:nth-child(odd){ background: gold;}

n遍历器(iterator

还有更为强大的选择规则,:nth-child 支持基于 n 遍历器关键词的选择计算方法。n 的取值从 0 开始。代表每n个元素进行遍历。比如如果我们想选择顺序为3的倍数的所有子元素,可以使用如下的规则:

li:nth-child(3n){ background: hotpink;}

上例中,选择了0(实际没有)、36的列表项。这个例子中0没有用,但是我们将看到n0开始是必要的。

3n + 1

上面这个规则可以用来选择目标元素为第一个以及随后每隔开3个位置的子元素。

li:nth-child(3n+1){ background: limegreen;}

3n+1 规则包含2个部分:

3n 选择顺序为3的倍数的列表项。

+1 在前面选择的基础上向后偏移1个位置。

可以看到,n遍历器是非常灵活和强大的。

否定选择器(:not)

否定选择器和jQuery中的:not选择器类似,是一个带参数的函数式选择器,语法如下:

*:not(FOO)

它表示除了符合FOO选择条件的元素均被选中。比如我们想给列表项添加下边线,但最后一条不加(以免和列表容器的边线重复),此时就可以使用:not来实现:

li.item:not(:last-child) {border-bottom: 1px solid #dedede;}

注意否定选择器不是结构化选择器,有些网上教程比如慕课网上的描述是错误的。另外否定选择器不能嵌套使用。

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/rumen/r41022.shtml