link語法結構:
<link href="url" rel="stylesheet" type="text/css">
@import語法結構:
@import url 多用於css文件中,把多個樣式表導入到一個樣式表中,在頁面里面只需要導入一個樣式表即可,便於修改和擴展
1.在html中
<style>
@import url
</style>
2.在css中
@import url
link 和 @import 的區別:
1.語法結構的不同
2.本質不同
屬於標簽,只能放入html源碼里進行使用,而@import可以看作為css樣式,可以引入css樣式(屬於html標簽,而@import是css提供的)
3.頁面加載
頁面加載時,會被同時被加載,而@import引用的css會等到頁面被加載完的時候再加載
4.兼容性。
@import只有在IE5以上才能被識別,而是html標簽,無兼容問題
5.優先級
不管是還是@import ,優先級按加載順序為參考,后加載的優先級高
6.可控性
使用js控制dom改變樣式只能使用標簽
為什么要避免使用css @import
在web前端優化的建議中,不建議使用css @import 因為這種方式加載css相當於把css放在了底部,因此@import會在網頁加載中增加延遲
至於為什么會增加延遲是因為使用@import引用的文件只有字引用它的那個css文件被下載、解析后,瀏覽器才會知道還有另一個css需要下載,這時才會去進行想在,然后再解析、構建render tree等一系列操作。因此css @import引起的css解析延遲會加長頁面留白期,所以要盡量避免css @import,采用標簽的方式引入