我想要的:了解n-child(n)。我的理解是,nth- child(1)将选择每个第一个元素。所以应该选择苹果,水果,香蕉来展示红色。
实际显示:但番茄和芒果也被选中并显示为红色。
代码:
a {
text-decoration: none;
color: black;
}
:nth-child(1) {
color: red;
}

<ul>
<li>apple</li>
<li>tomato</li>
<li>
<a href="#">fruit</a>
<a href="#">juice</a>
</li>
</ul>
<div>
<span>
<a href="#">banana</a>
<em>mango</em>
</span>
</div>
&#13;
答案 0 :(得分:5)
首先,:nth-child(1)
还包含html:nth-child(1)
,这意味着所有文字都是红色的。另请注意,ul
是body
的第一个孩子。运行代码段时会添加html
和body
元素。)
几乎所有文字都是红色的原因有点复杂:
li
ul
元素中的文字
ul
的颜色,这是body
a
元素中第一个li
的文本(:nth-child(1)
获胜的样式)a
元素的文本,不是另一个元素的第一个子元素(使用了a
的样式)span
元素的第一个子元素的文本em
继承了其父span
)的文本颜色,这是div
的第一个子项,因此应用了:nth-child(1)
的样式另请注意,div
中的任何文字都是红色的,因为div
会继承html
(第一个孩子)的颜色。您可能希望为html
指定明确的文本颜色,而不是可以使用。
答案 1 :(得分:0)