first-child、:last-child、:nth-child、:nth-last-child选择器都是用于选取属于其父元素下子元素的指定选择器,只是选择子元素的位置不同而已。所有主流浏览器均支持 :first-child、:last-child、:nth-child、:nth-last-child 选择器,除了 IE8 及更早的版本。
1、:first-child
:first-child表示选择列表中的第一个标签。代码如下:
li:first-child{background:#f00}
上面的意思是,li 列表中的 第一个li模块的背景颜色。
2、:last-child
:last-child表示选择列表中的最后一个标签,代码如下:
li:last-child{background:#f00}
3、:nth-child(3)
表示选择列表中的第3个标签,代码如下:
li:nth-child(3){background:#f00}
上面代码中的3也可以改成其它数字,如4、5等。想选择第几个标签,就填写几。
4、:nth-child(2n)
这个表示选择列表中的偶数标签,即选择 第2、第4、第6…… 标签。
5、:nth-child(2n-1)
这个表示选择列表中的奇数标签,即选择 第1、第3、第5、第7……标签。
6、:nth-child(n+3)
这个表示选择列表中的标签从第3个开始到最后。
7、:nth-child(-n+3)
这个表示选择列表中的标签从0到3,即小于3的标签。
8、:nth-last-child(3)
这个表示选择列表中的倒数第3个标签。
:first-child以为它只会选中父元素下的第一个元素,对孙元素和曾孙元素没有影响。其实也是有影响的。
直接看定义稍微有点绕,定义中最关键的就是属于其父元素。