同級情況下CSS的優先順序探討

來源:互聯網
上載者:User

CSS的調用方式一共有4種,分別是:行內樣式,內嵌式,link連結式,@import匯入式,在同級的前提下,我們可以按樣就近原則來理解他們的優先順序,則越前定義的樣式,會被後面的樣式覆蓋。

假如兩個或更多的規定在應用了前三個規定具有相同優先順序,則後給出的規則優先於早先給出的規則。如果在網頁的HEAD標記中同時使用了STYLE標記符(指定內置樣式)和LINK標記符(指定連結式樣式),並且這兩個樣式指定中同時應用了具有同一優先順序別的樣式,則STYLE標記符和LINK標記符的先後順序將決定樣式的優先順序。例如,如果在LINK所連結的樣式表(mycss.css)中定義了以下一條樣式規則:

H1{color:red}

同時在內置樣式定義中也定義了一條規則:H1{color:yellow}

在網頁中的樣式定義如下所示:

<HEAD><LINK rel=stylesheet href="mycss.css" type="text/css"><STYLE><!--H1{color:yellow}--></STYLE></HEAD>

由於STYLE標記符中定義的樣式後出現,因此它具有更高的優先順序,所以網頁中H1標記符的內容將顯示為黃色(yellow)。同樣,如果將Link標記符的位置移動到<STYLE></STYLE>標記符之後,則網頁中H1標記符的內容將顯示為紅色(red)。另外,由於直插式樣式(使用HTNL標記的style屬性設定的樣式)的位置最接近於樣式作用的標記符,因此它通常具有高優先順序。 

@import匯入式是在嵌入式裡面插入的,但是在測試的過程中,卻是優先順序最低的,因此我認為是瀏覽器載入完畢後匯入樣式表時,優先解析了匯入的內容,所以成為被後面同級樣式覆蓋。

 

在同級的情況下的優先順序是:行內樣式>內嵌式=link連結式(誰順序後,誰優先順序高)>@import匯入式

相關文章

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.