外部引用CSS中 link與@import的區(qū)別:
link屬于XHTML標(biāo)簽,而@import完全是CSS自己提供的一個(gè)語法龄句。
1.加載內(nèi)容原押。
link標(biāo)簽除了可以加載CSS外,還可以做很多其它的事情闽寡,比如定義RSS帮碰,定義rel連接屬性等相味,@import就只能加載CSS了。
2.加載順序的差別殉挽。
當(dāng)一個(gè)頁面被加載的時(shí)候(就是被瀏覽者瀏覽的時(shí)候)丰涉,link引用的CSS會(huì)同時(shí)被加載拓巧,而@import引用的CSS 會(huì)等到頁面全部被下載完再被加載。
所以有時(shí)候?yàn)g覽@import加載CSS的頁面時(shí)開始會(huì)沒有樣式(就是閃爍)一死,網(wǎng)速慢的時(shí)候更明顯肛度。
3.兼容性的差別。
由于@import是CSS2.1里提出的投慈,所以老的瀏覽器不支持承耿,@import只有在IE5以上的才能識(shí)別。而link標(biāo)簽無此問題伪煤。
4.使用dom控制樣式時(shí)的差別加袋。
當(dāng)使用javascript控制dom去改變樣式的時(shí)候,只能使用link標(biāo)簽抱既,因?yàn)锧import不是dom可以控制的职烧。
@import可以在css中再次引入其他樣式表。比如可以創(chuàng)建一個(gè)主樣式表防泵,在主樣式表中再引入其他的樣式表,比如:
main.css
@import “sub1.css”;
@import “sub2.css”;
sub1.css
p {color:red;}
sub2.css
.myclass {color:blue}
這樣更利于修改和擴(kuò)展蚀之。但同時(shí)這樣做有一個(gè)缺點(diǎn),會(huì)對(duì)網(wǎng)站服務(wù)器產(chǎn)生過多的HTTP請(qǐng)求捷泞,以前是一個(gè)文件足删,而現(xiàn)在卻是兩個(gè)或更多文件 了,服務(wù)器的壓力增大锁右,瀏覽量大的網(wǎng)站還是謹(jǐn)慎使用壹堰。