css層疊性規則

2021-07-15 10:16:20 字數 820 閱讀 6737

在css中,會根據選擇器的特殊性來決定所定義的樣式規則的次序,具有更特殊選擇器的規則優先於具有一般選擇器的規則。

各種選擇器的特殊值:

(1)內聯樣式的特殊值:1 0 0 0

(2)id選擇器的特殊值為:0 1 0 0

(3)類選擇器、屬性選擇器、偽類的特殊值為:0 0 1 0

(4)元素選擇器、偽元素的特殊值為:0 0 0 1

(5)如果宣告了重要性!important ,特殊值為1 0 0 0,但它高於內聯樣式的特殊值。

(6)通用選擇器(*),子選擇器(>)和相鄰同胞選擇器(+)並不在這四個等級中,所以他們的特殊值都為0

例如:css層疊樣式

有如下幾套樣式指向p元素:

p;//特殊值為0 0 0 1

div .div1//特殊值為 0 0 1 1

.div//特殊值為0 0 1 0

這裡因為第二個規則的特殊值最大,所以p元素內文字的顏色為黑色。

如果p;

那麼p元素文字內的顏色為紅色,因為宣告了重要性,優先順序高於其他所有規則。 

**有三種:程式設計人員定義樣式、使用者自定義樣式、瀏覽器**樣式

結合重要宣告!important,它們的權重從大到小排序:

(1)、使用者自定義重要宣告

(2)、程式設計人員重要宣告

(3)、程式設計人員正常宣告

(4)、使用者自定義正常宣告

(5)、瀏覽器**宣告

2、按順序:(如果兩個規格的權重、**和特殊性相同,那個在樣式表中的後乙個會勝出)

例:h1  

h1結果:h1的文字內容的顏色為黑色。

css層疊規則

網頁上的元素其實是三維的,類似於高中學的左手座標系,z軸就是垂直於螢幕。層疊上下文跟 塊狀格式化上下文 bfc 類似,只要元素擁有某些特定的css屬性,就會表現出層疊上下文的特點。前提是重疊在一起,就會按照上圖的規則呈現。1 誰大誰上 如生效的z index屬性值,大的就覆蓋小的。2 後來居上 當元...

CSS規則重要性以及繼承 層疊

多個規則中只有乙個勝出,那麼怎麼知道哪乙個規則更強呢?答案在於每個選擇器的特殊性。對於每個規則,使用者 會計算選擇器的特殊性,並將這個特殊性附加到規則中的各個宣告。如果乙個元素有兩個或者多個衝突的屬性宣告,那麼有最高特殊性的宣告就會勝出。這並不是解決衝突的全部。實際上,所有樣式衝突的解決都由層疊來處...

css 樣式層疊規則

檢視別人css,發現有一段css button.dark.blue button.dark 如果這樣寫,backgroud color到底是用誰的呢?原來我只知道內聯樣式的權值 id選擇器 類選擇器 標籤選擇器這樣的規則,還有就是越精細等級越高,看上面css 應該是第乙個優先順序更高吧 測試了一下,...