文章内容
在前端开发中,可能会碰到这样的需求:想让列表中的第一个部分显示不同的样式 ,想让列表中的偶数部分显示不同的背景颜色,想让列表中的最后一部分样式不一样。这样的需求,我们怎样来实现?其实,如果前面文件是php开发的,可以通过php的循环语句+判断语句+css样式来实现。但是,如果是静态代码,php就无法用了。这时,可以通过CSS来实现,CSS提供了几个非常有用的样式参数:first-child、last-child、nth-child(n)。
:nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。
n 可以是数字、关键词或公式。
1、first-child
first-child表示选择列表中的第一个标签。例如:
li:first-child {
background:#fff
}
2、last-child
last-child表示选择列表中的最后一个标签,例如:
li:last-child {
background:#fff
}
3、nth-child(3)
表示选择列表中的第3个标签,例如:
li:nth-child(3) {
background:#fff
}
代码中的3也可以改成其它数字,如4、5等。想选择第几个标签,就填写几。
4、nth-child(2n)
这个表示选择列表中的偶数标签,即选择 第2、第4、第6…… 标签,例如:
li:nth-child(2n) {
background:#fff
}
5、nth-child(2n-1)
这个表示选择列表中的奇数标签,即选择 第1、第3、第5、第7……标签,例如:
li:nth-child(2n-1) {
background:#fff
}
6、nth-child(n+3)
这个表示选择列表中的标签从第3个开始到最后。
7、nth-child(-n+3)
这个表示选择列表中的标签从0到3,即小于3的标签。
8、nth-last-child(3)
这个表示选择列表中的倒数第3个标签。