css層疊規則(層疊樣式表)

來源:互聯網
上載者:User

標籤:開發人員   樣本   相關   注意   顏色   選擇性   table   nbsp   使用者   

CSS層疊規則是:

1、找出所有相關的規則,這些規則都包含與一個給定元素匹配的選取器。

2、按權重(!important)和來源對應用到給定元素的所有聲明進行排序。

3、按特殊性對應用到給定元素的所有聲明進行排序,有較高特殊性的元素權重要大於有較低特殊性的元素,0特殊性比無特殊性要強(繼承)

4、按出現順序對應用到給定元素的所有聲明進行排序,後面出現的聲明權重要大於前面出現的聲明,即後定義的樣式會覆蓋前面定義的樣式。(適用於特殊性一樣的時候)

解讀:

一、權重和來源

來源:

1、創作人員(開發人員)

  1)、外部樣式,即<link>引用的CSS尾碼檔案;

  2)、內部樣式,即寫在<style></style>標籤內的樣式;

  3)、內聯樣式,即直接寫在style屬性內的樣式(網頁設計強調結構、表現、行為三者分離,不建議使用。);

2、讀者(使用者自訂樣式:一些頁面中會提供一些讓使用者自訂字型大小顏色等的快速鍵;)

3、使用者代理程式(最主要的是:瀏覽器預設樣式)

權重(由大到小的順序排序):

 1)讀者的重要聲明(!important)

 2)創作人員的重要聲明(!important)(高於內聯樣式!)

 3)創作人呀的正常聲明

 4)讀者的正常聲明

 5)使用者代理程式的聲明

二、樣式繼承

文檔應用聲明還有一個很重要的概念,即繼承:它依賴於祖先-後代的關係的,繼承是一種機制,它允許樣式不僅可以應用於某個特定的元素,還可以應用於它的後代。

CSS中的繼承也是有選擇性的,並不是全部CSS都繼承,大多數框模型屬性都不能繼承,例如,內、外邊距、背景和邊框等。

例如:一個body定義了的顏色值也會應用到段落的文本中。

三、選取器的特殊性

1、對於內聯樣式,特殊性首位加1,即1,0,0,0。

2、對於選取器中出現的ID屬性值,加0,1,0,0, 有多少個ID值就在第二位加幾位。

3、對於選取器中出現的類屬性值,屬性選擇及偽類,加0,0,1,0,共出現多少個就在第三位加幾位。

4、對於選取器中出現的元素,以及虛擬元素,加0,0,0,1,共出現多少個就在第四位加幾位。

5、萬用字元對特殊性沒有任何貢獻,即特殊性是0,0,0,0。

6、結合符沒有特殊性,連0特殊性也沒有。

7、繼承的CSS完全沒有特殊性,連0特殊性也沒有。

注意:因為萬用字元*的特殊性是0, 而繼承的CSS是沒有特殊性的,連0也沒有,所以,萬用字元的權重要大於繼承。

特殊性計算樣本:

h1{color:red;}  /*specificity = 0,0,0,1*/p em{color:purple;}  /*specificity = 0,0,0,2*/.grape{color:yellow;}  /*specificity = 0,0,1,0*/*.grape{color:yellow;}  /*specificity = 0,0,1,0*/p.grape em.dark{color:maroon;}  /*specificity = 0,0,2,2*/#grape{color:blue;} /*specificity = 0,1,0,0*/div#grape *[href] {color:silver;} /*specificity = 0,1,1,1*/html > body > table tr[id="totals"] td ul > li{color:maroon;} /*specificity = 0,0,1,7*/h1 + p{color:black;} /*specificity = 0,0,0,2*/

 

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.