CSS選擇器的權重和計算規則(機制)

從CSS代碼存放位置看權重優先級:內嵌樣式 > 內部樣式表 > 外聯樣式表。

從樣式選擇器看權重優先級:important > 內嵌樣式 > ID > 類 > 標籤 | 僞類 | 屬性選擇 > 僞元素 > 繼承 > 通配符。

CSS權重是由四個數值決定:

第一等:代表內聯樣式,如: style=””,權值爲1000。

第二等:代表ID選擇器,如:#content,權值爲100。

第三等:代表類、僞類和屬性選擇器,如.content,:hover,[type="text"],權值爲10。

第四等:代表標籤選擇器和僞元素選擇器,如div p,::before,權值爲1。

通配選擇符(universal selector)(*關係選擇符(combinators)(+>~' '||)和 否定僞類(negation pseudo-class)(:not())對優先級沒有影響(但是,在 :not() 內部聲明的選擇器會影響優先級)。

最後把這些值加起來,再就是當前元素的權重了。

權重算出來了,但是某個元素到底用哪個樣式,還有3個規則:

1,如果樣式上加有!important標記,那麼始終採用這個標記的樣式;

2、匹配的內容按照CSS權重排序,權重大的優先;

3,如果權重也一樣,按照它在CSS樣式表裏聲明的順序,後聲明的優先。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章