2. 請簡述CSS加載方式link和@import的區別。
答:
本質上,這兩種方式都是爲了加載CSS文件,但還是存在着細微的差別。
差別1:老祖宗的差別。link屬於XHTML標籤,而@import完全是CSS提供的一種方式。 link標籤除了可以加載CSS外,還可以做很多其它的事情,比如定義RSS,定義rel連接屬性等,@import就只能加載CSS了。
差別2:加載順序的差別。當一個頁面被加載的時候(就是被瀏覽者瀏覽的時候),link引用的CSS會同時被加載,而@import引用的CSS 會等到頁面全部被下載完再被加載。所以有時候瀏覽@import加載CSS的頁面時開始會沒有樣式(就是閃爍)
差別3:兼容性的差別。由於@import是CSS2.1提出的所以老的瀏覽器不支持,@import只有在IE5以上的才能識別,而link標籤無此問題。
差別4:使用dom控制樣式時的差別。當使用javascript控制dom去改變樣式的時候,只能使用link標籤,因爲@import不是dom可以控制的。