如果你有这个 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
属性值。
最佳答案
嗯...您正在选择一个 child 并要求匹配其 parent 。行不通
有一个简单的方法
.style-me {
color: red;
}
.ignore-my-descendants .style-me {
color: white;
}
关于css - 不在其他元素内部的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11048989/