有很多網頁中的CSS鏈接與引用是這樣寫的:
<style type="text/css" media="screen">
@import url("http://www.poluoluo.com/abc.css");
</style>
而很多網站使用的都是link
<link rel="stylesheet" rev="stylesheet" href="webjx.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標簽比較好。