:nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型,除了<h>标签。
n 可以是数字、关键词或公式
例子一
<!DOCTYPE html>
<html>
<head>
<style>
p:nth-child(2)
{
background:pink;
}
</style>
</head>
<body>
<h1>这是标题</h1>
<p>第一个段落。</p>
<p>第二个段落。</p>
<p>第三个段落。</p>
<p>第四个段落。</p>
</body>
</html>
Odd 和 even 是可用于匹配下标是奇数或偶数的子元素的关键词(第一个子元素的下标是 1)
例子二
<!DOCTYPE html>
<html>
<head>
<style>
p:nth-child(odd)
{
background:green;
}
p:nth-child(even)
{
background:pink;
}
</style>
</head>
<body>
<h1>这是标题</h1>
<p>第一个段落。</p>
<p>第二个段落。</p>
<p>第三个段落。</p>
<p>第四个段落。</p>
<p>第五个段落。</p>
</body>
</html>
<h>标签是第一个元素,但不会改变样式
例子三
使用公式 (an + b)。描述:表示周期的长度,n 是计数器(从 0 开始),b 是偏移值
<!DOCTYPE html>
<html>
<head>
<style>
p:nth-child(3n+0)
{
background:pink;
}
</style>
</head>
<body>
<h1>这是标题</h1>
<p>第一个段落。</p>
<p>第二个段落。</p>
<p>第三个段落。</p>
<p>第四个段落。</p>
<p>第五个段落。</p>
<p>第六个段落。</p>
<p>第七个段落。</p>
<p>第八个段落。</p>
<p>第九个段落。</p>
</body>
</html>
上面3n+0的意识是:指定了下标是 3 的倍数的所有 p 元素的背景色
:nth-child(2n)选取偶数标签,2n也可以是even
:nth-child(2n-1)选取奇数标签,2n-1可以是odd
:nth-child(3n+1)自定义选取标签,3n+1表示“隔二取一”
:nth-child(n+4)选取大于等于4标签
:nth-child(-n+4)选取小于等于4标签
:last-child选取最后一个标签
:nth-last-child(3)选取倒数第几个标签,3表示选取第3个
:nth-child的这些用法在实际中很用得着,不用单独给需要选取的标签加上ID或Class