因此,如果这是一个元素的HTML:
<div class="parent">
<div class="ignore-me">
<p class="child">ignore me</p>
<p class="child">ignore me</p>
<p class="child">ignore me</p>
<!-- I don't know how many <p> gonna be here -->
</div>
<p class="child">paint me green</p>
<p class="child">paint me blue</p>
</div>
如何才能:
1.是否选择子项.child
而不选择div.ignore-me
内部的子项?
1.根据它们的索引顺序分别选择它们。
我尝试使用>
和:nth-child(n)
的混合,如下所示:
.parent > .child:nth-child(1)
但是,它不工作!
只能用CSS实现吗?
一个二个一个一个
3条答案
按热度按时间vcirk6k61#
使用
div.parent > p.p
>
是child combinator。它只匹配第二个选择器匹配的元素,这些元素是第一个选择器匹配的元素的直接子元素。nwo49xxi2#
接受的答案可以进一步简化为
div.parent > p
,因为>
已经只选择直接子节点。关于
根据它们的索引顺序分别选择它们。
您可以使用:nth-child,但请注意
:nth-child
也将<div class="ignore-me">
视为<div class="parent">
的子项。因此,您的第一个<p class="child">
是第二个子项。然后,您可以使用even
和odd
在子项之间交替。一个二个一个一个
bbuxkriu3#
选择“parent”类中的直接第n个p标记
我们可以挑选一些古怪的孩子