Css權重解析

來源:互聯網
上載者:User

標籤:style   層疊   權重   演算法   body   虛擬元素   而不是   不可   css   

Css權重解析

關於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,2a: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能趕上一個類別選取器的情況。

  1. 繼承的 權重是 0

總結優先順序:

  1. 使用了 !important聲明的規則。
  2. 內嵌在 HTML 元素的 style屬性裡面的聲明。
  3. 使用了 識別碼選取器的規則。
  4. 使用了類別選取器、屬性選取器、虛擬元素和偽類別選取器的規則。
  5. 使用了元素選取器的規則。
  6. 只包含一個通用選取器的規則。
  7. 同一類別選取器則遵循就近原則。
總結:權重是優先順序的演算法,層疊是優先順序的表現

Css權重解析

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.