CSS(層疊樣式表)中,層疊指的是不同選擇器在同一元素上設置多個屬性,形成疊加效果。那么,如何設置樣式的層疊次序呢?
元素內部聲明 >頁面內部樣式表 >外部樣式表 >瀏覽器缺省樣式
如果同樣的屬性被多個樣式同時設置,最后一個設置的樣式會生效。如:
p { color: red; color: blue; }
這里的顏色最終呈現的是藍色,因為它是最后一個聲明的顏色。在實際開發中,復雜的樣式會有很多屬性需要設置,多個選擇器決定了它們的優先級,因此有一些規則需要遵守。
1. 選擇器的特殊性
帶有 ID 選擇器的樣式優先級最高,其次是類選擇器、屬性選擇器、偽類選擇器,最后是元素/偽元素選擇器。如果選擇器中有多個,特殊性高的會覆蓋特殊性低的。
2. 樣式表中的位置
后聲明的樣式會覆蓋前面的樣式,因此樣式表中的位置也決定了優先級。如果需要提高某個元素的特殊性,可以使用 !important 標記,但是請注意不要濫用,這樣會導致排查問題變得困難。
通過這些規則,我們可以更加方便地設置好樣式的層疊次序,避免出現意外的效果。