css权重核心概念
1. 權重概念:
權重,是一個相對的概念,是針對某一指標而言。某一指標的權重是指該指標在整體評價中的相對重要程度。
權重系數,是表示某一指標項在指標項系統中的重要程度,它表示在其它指標項不變的情況下,這一指標項的變化,對結果的影響。
?
2.css權重的理解:
每一個css的選擇器都有一個相對的重要程度值,也就是權重的值,簡稱“權值”;
css通過css選擇器的權重占比,來計算css選擇規則的總權值,從而確定 定義樣式規則的 優先級次序;
從“css權重的理解”中得知,原來所謂為的 css選擇規則的優先級 是按照 css選擇器的權值的比較 來確定的(可能光看這句還是一頭霧水的,不急,看完我接下來介紹 估計你馬上會有豁然開朗的感覺,但,請先記住這句話);
?
3.css優先級規則:
1.css選擇規則的權值不同時,權值高的優先;
2.css選擇規則的權值相同時,后定義的規則優先;
3.?css屬性后面加 !important 時,無條件絕對優先;
?
4. 權值的計算:
網上很容易找到這張圖,他描述了css選擇器的權值等級劃分:
?????? 看不懂圖也可以記住幾個關鍵詞:
?
權值等級劃分, 一般來說是劃分4個等級:
第一等級:代表 內聯樣式,如 style="",權值為 1,0,0,0;
第二等級:代表 ID選擇器,如 #id="", 權值為 0,1,0,0;
第三等級:代表 calss | 偽類 | 屬性 選擇器,如 .class | :hover,:link,:target | [type], 權值 0,0,1,0;
第四等級:代表 標簽 | 偽元素 選擇器,如 p | ::after, ::before, ::fist-inline, ::selection, 權值 0,0,0,1;
此外,通用選擇器(*),子選擇器(>), 相鄰同胞選擇器(+)等選擇器不在4等級之內,所以它們的權值都為 0,0,0,0;
?
權值計算 公式:
權值 = 第一等級選擇器*個數,第二等級選擇器*個數,第三等級選擇器*個數,第四等級選擇器*個數;
?
權值比較 規則:
當兩個權值進行比較的時候,是從高到低逐級將等級位上的權重值(如 權值 1,0,0,0 對應-->?第一等級權重值,第二等級權重值,第三等級權重值,第四等級權重值)來進行比較的,而不是簡單的 1000*個數 + 100*個數 + 10*個數 + 1*個數 的總和來進行比較的,換句話說,低等級的選擇器,個數再多也不會越等級超過高等級的選擇器的優先級的;【為什么這么特別強調呢,因為為在網上查資料的時候,看到好多博客是把這個權重值理解成了所有等級的數字之和了】,說到這里 再 配合下圖 大家應該就差不多理解了,
總結,這個比較規則就是三點
1.先從高等級進行比較,高等級相同時,再比較低等級的,以此類推;
2.完全相同的話,就采用 后者優先原則(也就是樣式覆蓋);
3.css屬性后面加 !important 時,無條件絕對優先(比內聯樣式還要優先);
總結
- 上一篇: (自学笔记) 谭浩强 C语言程序设计 第
- 下一篇: 低版本webview无法请求jquery