引用外部CSS的link和import方式的分析與比較

來源:互聯網
上載者:User

標籤:style   blog   class   code   c   java   

很多網頁中的 CSS 連結與引用是這樣寫的:

<style type="text/css" media="screen">@import url("http://www.abaonet.com/abc.css");</style> 

而很多網站使用的都是 link

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

 

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

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

他倆的作用相同,唯一的不同是服務物件不一樣:

@import 為 CSS 服務

link 是為當前的頁服務

外部參考 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.