繼承CSS 屬性:特異性之謎
將CSS 規則應用於Web 元素時,特異性的概念在確定哪些元素適用時起著至關重要的作用。規則優先。然而,在這種情況下對繼承屬性的處理經常會造成問題。
繼承樣式是從父元素傳遞到其後代元素的屬性。有理由想知道繼承屬性的特異性與直接目標規則的特異性相比如何。
特異性與繼承
與流行的看法相反,特異性並不會直接控制繼承屬性的優先順序。相反,任何針對該元素的 CSS 聲明的特異性都會直接取代任何繼承的屬性。
範例:覆蓋繼承的樣式
考慮以下HTML 和CSS 程式碼:
<h2>This should be black</h2> <div class="all_red_text"> <h2>This should be red</h2> </div>
.all_red_text { color: red; }
在這種情況下, . all_red_text div 繼承瀏覽器預設的黑色行為。顏色:紅色; .all_red_text 中的屬性會覆寫此繼承的樣式,且文字將顯示為紅色。
但是,如果我們加入直接針對h2 元素的規則,如下所示:
h2 { color: black; } .all_red_text { color: red; }
在此修訂版中例如,顏色:黑色; h2 元素的明確規則優先於繼承的屬性,導致所有h2 文字均為黑色。
結論
繼承的 CSS 屬性本質上並不比繼承的 CSS 屬性或多或少具體。直接針對的規則。無論繼承的屬性來自父元素還是使用者代理,直接目標規則的特定性始終具有更高的優先權。了解這種行為對於在 CSS 中使用繼承樣式時避免意外結果至關重要。
以上是CSS 特異性如何影響繼承屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!