精品一区二区三区影院在线午夜_天天躁日日躁狠狠躁AV麻豆_国产午夜福利短视频_中文字幕乱偷无码AV先锋蜜桃_久久精品一二区东京热_国产成人亚洲日韩欧美久久久,国产成人精品久久一区二区三区

css文件加載:@import和link的區別

剛看了一個百度試題:請簡述CSS加載方式link和@import的區別?

平時一般都用link,也知道css的加載方式,但還真的沒有仔細研究過其之間的差別,查了一些資料,大致總結如下:

@impot使用方法:

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

link的使用方法:

<link href="css/main.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里,而不用外部文件。

颍上县| 永德县| 高台县| 鱼台县| 海门市| 高邑县| 鄂尔多斯市| 三台县| 吴堡县| 叶城县| 秦安县| 集安市| 确山县| 九江县| 福安市| 台北市| 新巴尔虎左旗| 阿勒泰市| 乌兰浩特市| 黄梅县| 兴国县| 河曲县| 贡嘎县| 青神县| 珲春市| 竹北市| 平远县| 连州市| 甘泉县| 新兴县| 南木林县| 吉安市| 寿光市| 温宿县| 宜春市| 砀山县| 莆田市| 东乡| 津南区| 全椒县| 樟树市|