[英]Why doesn't css :not work in some cases?
在這種情況下,為什么:not
selector根本不起作用:
a {
color:red;
}
div a:not(.special a) {
color: green;
}
在,例如:
<div>
<span>hello<a href="#">link</a></span>
</div>
<div class="special">
<span>hello<a href="#">link</a></span>
</div>
<p>
<a href="#"> something else</a>
</p>
:not()
目前不允許組合器或任何多個簡單選擇器(例如.special
或a
)作為參數。 未來的規范將擴展:not()
接受任意數量的復雜選擇器,一旦瀏覽器支持它,你的選擇器div a:not(.special a)
將完全按預期工作。
在此期間,它是不可能寫的選擇“的a
不具有一個元素.special
祖先元素。” 你需要覆蓋有附加.special a
在你的規則選擇適用於a
一般的元素:
a, .special a {
color:red;
}
div a {
color: green;
}
.special a
的額外特異性將確保它覆蓋div a
,但如果特異性是一個問題,則需要重新排列規則集。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.