CSS權重

heath_learning發表於2019-01-08

1、什麼是css權重?css6大基礎選擇器

css權重指的是css6大基礎選擇符的優先順序,優先順序高的css樣式會覆蓋優先順序底的css樣式,優先順序越高說明權重越高,反之亦然。

css6大基礎選擇器:

a)、id選擇器(#box{})
b)、類選擇器(.box{})
c)、屬性選擇器(a[href="http://www.xxx.com"])
d)、偽類和偽物件選擇器(:hoevr{}和::after{})
e)、標籤型別選擇器(div{})
f)、萬用字元選擇器(*{})

2、css權重計算規則

計算css權重是有一定規則的,根據w3c制定的css規範,css權重計算規則如下:

a)、計算選擇符中的id選擇器的數量
    一個id選擇器為一個a,一個a為100
    
b)、計算選擇符中的類選擇器、屬性選擇器以及偽類選擇器的數量
    一個類選擇器、屬性選擇器以及偽類選擇器為一個b,一個b為10
    
c)、計算標籤型別選擇器和偽物件選擇器的數量
    一個標籤型別選擇器、偽物件選擇器為一個c,一個c為1
    
d)、忽略萬用字元選擇器
    萬用字元選擇器忽略不計

如下面這張圖就是一個css選擇器權重的例子:
圖片描述

如果兩個選擇符的權重相同,則可依照”就進原則”來判斷,最後定義的選擇符會被採用。但儘量避免出現這種依靠定義的順序決定選擇符優先順序的情況,因為在後續的維護中很難保證定義的順序不會被打亂。

相關文章