选择某元素的一或多个特定的子元素<:nth-child()>
:nth-child()可以选择元素的一个或多个特定的子元素,可以定义他的值(值可以是整数也可以是表达式)。
1.简单数字序号写法 :nth-child(number),直接匹配第number个元素。参数number必须为大于0的整数。
如下,把第3个p的背景设为绿色:
p:nth-child(3){background:green;}
2.倍数写法 :nth-child(an),匹配所有倍数为a的元素。其中参数an中的字母n不可缺省,它是倍数写法的标志,如3n、5n。
如下,把第2、第4、第6、…、所有2的倍数的p的背景设为蓝色:
p:nth-child(2n){background:blue;}
3.倍数分组匹配 :nth-child(an+b)与:nth-child(an-b),先对元素进行分组,每组有a个,b为组内成员的序号,其中字母n和加号+不可缺省,位置不可调换,这是该写法的标志,其中a,b均为正整数或0。
如下,匹配第1、第4、第7、…、每3个为一组的第1个p元素
p:nth-child(3n+1){background:orange;}
如下,匹配第3-1=2、第6-1=5、…、第3的倍数减1个p元素
p:nth-child(3n-1){background:#33FF33;}
4.奇偶匹配 :nth-child(odd)与:nth-child(even)分别匹配序号为奇数与偶数的元素。奇数(odd)与(2n+1)结果一样;偶数(even)与(2n+0)及(2n)结果一样。
这里,我们为奇数和偶数p元素指定两种不同的背景色:
p:nth-child(odd)
{
background:#ff0000;
}
p:nth-child(even)
{
background:#0000ff;
}