首頁 > web前端 > css教學 > CSS :not() 是否選擇性地排除遠親?

CSS :not() 是否選擇性地排除遠親?

Susan Sarandon
發布: 2024-11-30 17:14:11
原創
523 人瀏覽過

Does CSS :not() Selectively Exclude Distant Descendants?

距離後代和 CSS :not() 選擇器

CSS3 :not() 偽類旨在否定特定選擇器匹配。它已在瀏覽器中廣泛實現。然而,圍繞此選擇器的一個常見誤解是它對遙遠後代的適用性。

雖然 :not() 成功地否定了直接子元素的匹配,但對於更遙遠的後代,它的行為並不符合預期。如提供的範例所示:

在此片段中,

元素仍然從其父級

繼承紅色,即使它不是
的直接後代。發生這種情況是因為 :not() 僅直接否定該元素的匹配,而不是其後代。

CSS3 和 CSS 選擇器等級 4 中的 :not() 文件沒有明確解決此行為。不過,已經證實這種行為是故意的,選擇者並不意味著支援孫子匹配。

達到預期的結果從 :not() 匹配中排除遠親後代,必須使用不同的方法。常見的方法是為要排除的特定元素指定顏色,覆寫任何繼承的值:

CSS 選擇器等級4 增強

CSS 選擇器第4 級提出了對:not() 選擇器的增強,允許在其中使用更複雜的選擇器。此變更將使以下語法能夠正確地否定後代:

雖然此增強功能尚未在瀏覽器中廣泛實現,但它為使用:not() 匹配和否定遠距離後代提供了一個有前景的解決方案。

以上是CSS :not() 是否選擇性地排除遠親?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板