我一直在使用:not()伪类对事物进行样式化,而不需要用第二个不必要的声明来覆盖它来撤销第一个声明,但现在我遇到了一种奇怪的行为,即Safari在:not()中接受后代选择器,但Chrome不接受。
我用了像a:not(.blue a)这样的东西。
我寻找答案,但我仍然不完全理解原因。
后代选择器真的被规范所允许吗?
下面是一个演示:
a:not(.blue a) {
color: red;
}
<div><a>this one should be in red</a></div>
<div class="blue"&g
我知道,使用纯CSS,不可能选择元素的先前兄弟姐妹。但我试图用复杂的选择器愚弄浏览器。
请看这个。它包含了几个CSS规则,除了其中的两个规则外,这些规则都很好地工作:
//set border color to white for all elements before .selected and .selected itself
div:not(.selected ~ div) {
border-color: #fff;
}
//set border color to green for the element previous to .selected
div:not(.sele