1. 程式人生 > 實用技巧 >CSS檔案載入方式: @import 和 <link>

CSS檔案載入方式: @import 和 <link>

轉載地址:https://www.cnblogs.com/FineDay/articles/3510498.html


CSS檔案載入方式有那些?怎麼樣載入才是最優化的?今天就來介紹這方面的知識,CSS檔案會因為網站的需求有不同的載入方式,大家去分析一些大站的css程式碼時,都會發現呼叫css有以下兩種方法:

@import必須是在<style>標籤內,或者一個CSS檔案中,並且是要在樣式定義之前使用;

方法一:

<style type="text/css">
<!--
@import url("css/main.css");
@import url("css/font.css");
@import url("css/layout.css");
-->
</style>

方法二:

<link href="css/tianyi.css" rel="stylesheet" type="text/css" />

那麼這兩各方法有什麼區別和優缺點呢?

本質上,這兩種方式都是為了載入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可以控制的。
  5. @import可以在css中再次引入其他樣式表,比如可以建立一個主樣式表,在主樣式表中再引入其他的樣式表,如:
 
   main.css
   ———————-
   @import “sub1.css”;
   @import “sub2.css”;

sub1.css
———————-
p {color:red;}

sub2.css
———————-
.myclass {color:blue}

這樣更利於修改和擴充套件。

大致就這幾種差別了,其它的都一樣,從上面的分析來看,還是使用link標籤比較好。標準網頁製作載入CSS檔案時,還應該選定要載入的媒體(media),比如screen,print,或者全部all等。

提示:這樣做有一個缺點,會對網站伺服器產生過多的HTTP請求,以前是一個檔案,而現在卻是兩個或更多檔案了,伺服器的壓力增大,瀏覽量大的網站還是謹慎使用。有興趣的可以觀察一下像新浪等網站的首頁或欄目首頁程式碼,他們總會把css或js直接寫在html裡,而不用外部檔案。


轉載地址:https://www.cnblogs.com/FineDay/articles/3510498.html