調用css時,用link 和 @import url 有什么區別


加載css link與@import的區別:

其實 link 與 @import 在顯示效果上還是有很大區別的,基本上來看 link 的加在會在頁面顯示之前全部加在完全,而 @import 會是讀取完文件之后加在,所以如果網速很好或很快的情況下,會出現先開始無css定義,而后加載css定義。@import加載頁面時開始的瞬間會有閃爍(無樣式表的頁面),然后才恢復正常(加載樣式后的頁面),Link沒有這個問題。

他們從方法上是一樣的,只是在瀏覽器識別上有點差距,link在支持CSS的瀏覽器上都支持而@import只在5.0以上的版本有效,而且還能用於瀏覽器過濾也就是hack的使用,兼容一些老版本的瀏覽器。所以最好還是使用link通用型更強,但是對於高版本的瀏覽器,也就是現在的瀏覽器來說,其實都一樣,這是個沒有太大意義的區分 。

例外一個說明:

@import url(/css/a.css) 很簡單但出現了兼容問題,在ff下無法調用樣式,大家都以為是@import搞的怪,但用link后問題依然出現。經過一番討論原來是絕對路徑在ff下是不認的。


下面對@import url()做一下總結:

   1,@import url()機制是不同於link的,link是在加載頁面前把css加載完畢,而@import url()則是讀取完文件后在加載,所以會出現一開始沒有css樣式,閃爍一下出現樣式后的頁面(網速慢的情況下)。

2,@import 是css2里面的,所以古老的ie5不支持。

3,當使用javascript控制dom去改變樣式的時候,只能使用link標簽,因為@import不是dom可以控制的。

4,link除了能加載css外還能定義RSS,定義rel連接屬性,@import只能加載css

所以我認為結合來使用就最好,比如:<link href="css/main.css" rel="stylesheet" type="text/css">

引用了一個main.css文件,在main.css里面再引用@import url(footer.css);@import url(head.css);

這樣達到一個清晰明了的作用.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM