css選取器權重值計算規則

來源:互聯網
上載者:User

標籤:

一、樣式類型

  1、行間

<h1 style="font-size:12px;color:#000;">我的行間CSS樣式。</h1>

 

  2、內聯

<style type="text/css">   h1{font-size:12px;      color:#000;      }</style>

   3、外部

<link rel="stylesheet" href="css/style.css">

二、選取器類型

  1、ID  #id

  2、class  .class

  3、標籤  p

  4、通用  *

  5、屬性  [type="text"]

  6、偽類  :hover

  7、虛擬元素  ::first-line

  8、子選取器、相鄰選取器

三、權重計算規則

  1. 第一等:代表內聯樣式,如: style=””,權值為1000。
  2. 第二等:代表ID選取器,如:#content,權值為0100。
  3. 第三等:代表類,偽類和屬性選取器,如.content,權值為0010。
  4. 第四等:代表類型選取器和虛擬元素選取器,如div p,權值為0001。
  5. 萬用字元、子選取器、相鄰選取器等的。如*、>、+,權值為0000。
  6. 繼承的樣式沒有權值。

四、比較規則

  1. 1,0,0,0 > 0,99,99,99。也就是說從左往右逐個等級比較,前一等級相等才往後比。
  2. 無論是行間、內部和外部樣式,都是按照這個規則來進行比較。而不是直觀的行間>內部>外部樣式;ID>class>元素。之所以有這樣的錯覺,是因為確實行間為第一等的權重,所以它的權重是最高的。而內部樣式可能一般寫在了外部樣式引用了之後,所以覆蓋掉了之前的。
  3. 在權重相同的情況下,後面的樣式會覆蓋掉前面的樣式。
  4. 萬用字元、子選取器、相鄰選取器等的。雖然權值為0000,但是也比繼承的樣式優先。

五、!important

  1. !important 的作用是提升優先順序,換句話說。加了這句的樣式的優先順序是最高的(比內聯樣式的優先順序還高)。
    <style>    p{        color:red !important;    }</style><p style="color:blue;">我顯示紅色</p>    
  2. ie7+和別的瀏覽器對important的這種作用的支援度都很好。只有ie6有些bug
    p{  color:red !important;  color:blue;    }//會顯示blue

    但是這並不說明ie6不支援important,只是支援上有些bug。看下面

    p{  color:red !important;  }p{  color:blue;  }//這樣就會顯示的是red。說明ie6還是支援important的。

六、執行個體

  1.  a{color: yellow;} /*特殊性值:0,0,0,1*/ div a{color: green;} /*特殊性值:0,0,0,2*/.demo a{color: black;} /*特殊性值:0,0,1,1*/ .demo input[type="text"]{color: blue;} /*特殊性值:0,0,2,1*/ .demo *[type="text"]{color: grey;} /*特殊性值:0,0,2,0*/ #demo a{color: orange;} /*特殊性值:0,1,0,1*/ div#demo a{color: red;} /*特殊性值:0,1,0,2*/<a href="">第一條應該是黃色</a> <!--適用第1行規則--><div class="demo">    <input type="text" value="第二條應該是藍色" /><!--適用第4、5行規則,第4行優先順序高-->    <a href="">第三條應該是黑色</a><!--適用第2、3行規則,第3行優先順序高--></div><div id="demo">    <a href="">第四條應該是紅色</a><!--適用第5、6行規則,第6行優先順序高--></div>

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.