小编给大家分享一下CSS中nth-child怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
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(实际没有)、3、6的列表项。这个例子中0没有用,但是我们将看到n从0开始是必要的。
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;}
注意否定选择器不是结构化选择器,有些网上教程比如慕课网上的描述是错误的。另外否定选择器不能嵌套使用。
以上是“CSS中nth-child怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!