CSS優先順序
繼承樣式的權重為0。即在巢狀結構中,不管父元素樣式的權重多大,被子元素繼承時,他的權重都為0,也就是說子元素定義的樣式會覆蓋繼承來的樣式。
行內樣式優先。應用style
屬性的元素,其行內樣式的權重非常高,可以理解為遠大於100。總之,他擁有比上面提高的選擇器都大的優先順序。
權重相同時,CSS遵循就近原則。也就是說靠近元素的樣式具有最大的優先順序,或者說排在最後的樣式優先順序最大。
CSS定義了一個!important
命令,該命令被賦予最大的優先順序。也就是說不管權重如何以及樣式位置的遠近,!important
都具有最大優先順序。
CSS特殊性(Specificity)
關於CSS權重,我們需要一套計算公式來去計算,這個就是 CSS Specificity,我們稱為CSS 特性或稱非凡性,它是一個衡量CSS值優先順序的一個標準 具體規範入如下:
specificity用一個四位的數 字串(CSS2是三位)來表示,更像四個級別,值從左到右,左面的最大,一級大於一級,數位之間沒有進位制,級別之間不可超越。
繼承或者* 的貢獻值 | 0,0,0,0 |
---|---|
每個元素(標籤)貢獻值為 | 0,0,0,1 |
每個類,偽類貢獻值為 | 0,0,1,0 |
每個ID貢獻值為 | 0,1,0,0 |
每個行內樣式貢獻值 | 1,0,0,0 |
每個!important貢獻值 | ∞ 無窮大 |
權重是可以疊加的
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
#nav p ---------> 0,1,0,1
1.數位之間沒有進位制 比如說: 0,0,0,5 + 0,0,0,5 =0,0,0,10 而不是 0,0, 1, 0, 所以不會存在10個div能趕上一個類選擇器的情況。
- 繼承的 權重是 0
總結優先順序:
- 使用了 !important宣告的規則。
- 內嵌在 HTML 元素的 style屬性裡面的宣告。
- 使用了 ID 選擇器的規則。
- 使用了類選擇器、屬性選擇器、偽元素和偽類選擇器的規則。
- 使用了元素選擇器的規則。
- 只包含一個通用選擇器的規則。
- 同一類選擇器則遵循就近原則。
相關文章
- css優先順序彙總CSS
- css 選擇器優先順序CSS
- CSS的處理優先順序CSS
- 深入理解css優先順序CSS
- 何為CSS 樣式優先順序CSS
- css選擇器的優先順序CSS
- CSS 選擇器的優先順序CSS
- CSS 選擇器優先順序規則CSS
- CSS之選擇器及其優先順序CSS
- CSS之CSS和html整合方式及優先順序CSSHTML
- 深入理解CSS選擇器優先順序CSS
- CSS3選擇器及優先順序CSSS3
- css樣式分類、定義、優先順序CSS
- ***CSS魔法堂:選擇器及其優先順序CSS
- 中斷優先順序
- python運算子及優先順序順序Python
- CSS入門十二:選擇器的優先順序CSS
- 關於CSS樣式的優先順序問題CSS
- 真正理解"CSS選擇器的優先順序"CSS
- css知多少(6)——選擇器的優先順序CSS
- Android程式優先順序Android
- SQL 優先順序join>whereSQL
- java運算子優先順序Java
- nginx快取優先順序Nginx快取
- php運算子優先順序PHP
- css 選擇器優先順序的計算過程CSS
- java setPriority()設定優先順序Java
- [譯]HTTP/2的優先順序HTTP
- 封裝優先順序佇列封裝佇列
- Yarn任務優先順序配置Yarn
- gitignore優先順序小結Git
- java執行緒優先順序Java執行緒
- 資料型別優先順序資料型別
- NLS引數優先順序解析
- 華為路由協議優先順序路由協議
- C++運算子優先順序C++
- CSS的三大特性(繼承、層疊和優先順序)CSS繼承
- CSS三個特性:層疊性、繼承性、優先順序CSS繼承