我很想知道nth-child css选择器是如何工作的。我期待以下代码更改第3个
元素的背景颜色,即"第三段"。但是,当我运行此代码时,第二个
元素被选中并且"第二个段落"背景颜色有变化。
<html>
<head>
<style>
p:nth-child(3) {
background: #ff0000;
}
</style>
</head>
<body>
<h1>This is a heading</h1>
<p>The first paragraph.</p>
<p>The second paragraph.</p>
<p>The third paragraph.</p>
<p>The fourth paragraph.</p>
</body>
</html>
答案 0 :(得分:2)
由于<p>
不是任何祖先的孩子而且真诚地计算<h1>
,因此您需要使用:nth-of-type
来定位第三段
p:nth-of-type(3) {
background: #ff0000;
}
答案 1 :(得分:1)
nth-child
不关心其他元素的类型,因此它也会计算h1
元素。
您可以使用p:nth-of-type(3)
编辑:澄清
答案 2 :(得分:0)
在这种情况下,您指定的段落是其父级的nth-child
。由于父级为body
,并且您要求n
为3,因此它将是您标记中的第二个p
。