1). 權(quán)重計(jì)算公式
關(guān)于CSS權(quán)重,我們需要一套計(jì)算公式來去計(jì)算,這個(gè)就是 CSS Specificity(特殊性)
| 標(biāo)簽選擇器 | 計(jì)算權(quán)重公式 |
|---|---|
| 繼承或者 * | 0,0,0,0 |
| 每個(gè)元素(標(biāo)簽選擇器) | 0,0,0,1 |
| 每個(gè)類,偽類 | 0,0,1,0 |
| 每個(gè)ID | 0,1,0,0 |
| 每個(gè)行內(nèi)樣式 style="" | 1,0,0,0 |
| 每個(gè)!important 重要的 | ∞ 無窮大 |
值從左到右,左面的最大,一級大于一級,數(shù)位之間沒有進(jìn)制,級別之間不可超越。
關(guān)于CSS權(quán)重,我們需要一套計(jì)算公式來去計(jì)算,這個(gè)就是 CSS Specificity(特殊性)
div { color: pink!important; }
2). 權(quán)重疊加
我們經(jīng)常用交集選擇器,后代選擇器等,是有多個(gè)基礎(chǔ)選擇器組合而成,那么此時(shí),就會出現(xiàn)權(quán)重疊加。
就是一個(gè)簡單的加法計(jì)算
div ul li ------> 0,0,0,3
.nav ul li ------> 0,0,1,2
a:hover -----—> 0,0,1,1
.nav a ------> 0,0,1,1
[圖片上傳失敗...(image-fe2404-1624981328863)]
注意:
- 數(shù)位之間沒有進(jìn)制 比如說: 0,0,0,5 + 0,0,0,5 =0,0,0,10 而不是 0,0, 1, 0, 所以不會存在10個(gè)div能趕上一個(gè)類選擇器的情況。
3). 繼承的權(quán)重是0
這個(gè)不難,但是忽略很容易繞暈。其實(shí),我們修改樣式,一定要看該標(biāo)簽有沒有被選中。
1) 如果選中了,那么以上面的公式來計(jì)權(quán)重。誰大聽誰的。 2) 如果沒有選中,那么權(quán)重是0,因?yàn)槔^承的權(quán)重為0.