CSS :not() 選擇器是為遠方後代設計的嗎?
CSS3 :not() 偽類,如中所述官方文件位於http://www.w3.org/TR/css3-selectors/#negation,旨在匹配以下元素:與給定的選擇器不匹配。然而,使用者發現它在與遠親後代一起使用時功能有限。
考慮以下範例:
div :not(p) { color: red; }
雖然此選擇器在
時起作用。是
> 時它會失敗。是更遠的後裔。此行為是有意為之,因為 :not() 只否定目標元素的直接後代。
在
的情況下包含一個,它是
本身符合 *:not(p) 並繼承樣式。元素本身仍然算是否定,從其父元素繼承文字顏色。
要克服此限制,將
定位為建議直接使用元素:
p { color: black; }登入後複製選擇器等級4 建議增強:not() 以接受包含組合器的完整複雜選擇器,從而允許更具體的後代定位。不過,此功能仍處於實施階段。
以上是CSS `:not()` 是否選擇性地僅針對直接後代?的詳細內容。更多資訊請關注PHP中文網其他相關文章!