如果你有这个HTML
<div>
<span class="style-me">i want to be styled</span>
</div>
<div class="ignore-my-descendants">
<span class="style-me">i want to be styled but my parent prevents it</span>
</div>
然后这个CSS选择器
.style-me:not(.ignore-my-descendants *) {
color: red;
}
不匹配任何东西。也许是因为:not()只接受这里没有给出的简单选择器(我不确定,希望你能告诉我真正的原因)。 是否有一种纯css方法可以过滤掉那些父母符合给定条件的元素?
编辑:我不想将任何值应用于要忽略的元素。
这很重要,因为无法预见元素的所需display
属性值。
答案 0 :(得分:4)
有一种简单的方法
.style-me {
color: red;
}
.ignore-my-descendants .style-me {
color: white;
}