css import與link的區別

來源:互聯網
上載者:User

看到一些網站的頁中大部分是這樣寫的

<style type="text/css" media="screen">
@import url("http://www.jb51.net/home/css/global/v2.0.css?t=20070518.css");
</style>

  而很多網站使用的都是link

<link rel="stylesheet" rev="stylesheet" href="default.css" type="text/css" media="all" />

  而像google 百度 163等網站他們都是直接寫在網頁中

  當然使用連結link和匯入import的好處就是易於維護,但當網速比較慢的時候,會出現載入中斷的情況,導致頁面排版錯誤

  他倆的作用相同

  唯一的不同是服務物件不一樣

  @import 為CSS服務

  link是為當前的頁服務

  經典有網友說 @import會優先執行。

  外部參考CSS中 link與@import的區別

  這兩天剛寫完XHTML載入CSS的幾種方式,其中外部參考CSS分為兩種方式link和@import。

  本質上,這兩種方式都是為了載入CSS檔案,但還是存在著細微的差別。

  差別1:老祖宗的差別。link屬於XHTML標籤,而@import完全是CSS提供的一種方式。
  link標籤除了可以載入CSS外,還可以做很多其它的事情,比如定義RSS,定義rel串連屬性等,@import就只能載入CSS了。

  差別2:載入順序的差別。當一個頁面被載入的時候(就是被瀏覽者瀏覽的時候),link引用的CSS會同時被載入,而@import引用的CSS 會等到頁面全部被下載完再被載入。所以有時候瀏覽@import載入CSS的頁面時開始會沒有樣式(就是閃爍),網速慢的時候還挺明顯(夢之都載入CSS 的方式就是使用@import,我一邊下載一邊瀏覽夢之都網頁時,就會出現上述問題)。

  差別3:相容性的差別。由於@import是CSS2.1提出的所以老的瀏覽器不支援,@import只有在IE5以上的才能識別,而link標籤無此問題。

  差別4:使用dom控制樣式時的差別。當使用javascript控制dom去改變樣式的時候,只能使用link標籤,因為@import不是dom可以控制的。

  大致就這幾種差別了(如果還有什麼差別,大家告訴我,我再補充上去),其它的都一樣,從上面的分析來看,還是使用link標籤比較好。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.