小程序开发

引用外部CSS的link和import方式的分析与比较

posttime:2017-06-21 19:23

多网页中的 CSS 链接与引用是这样写的:

[html] view plain copy
 
  1.    
  2. <style type="text/css" media="screen">  
  3. @import url("http://www.abaonet.com/abc.css");  
  4. </style>   

 

而很多网站使用的都是 link

[html] view plain copy
 
  1. <link rel="stylesheet" rev="stylesheet" href="style.css" media="all" />  

 

而像 google 百度 163等网站它们都是直接写在网页中。

当然使用链接 link 和导入 import 的好处就是易于维护,但当网速比较慢的时候,会出现加载中断的情况,从而导致页面排版出错。

他俩的作用相同,唯一的不同是服务对象不一样:

@import 为 CSS 服务

link 是为当前的页服务

外部引用 CSS 中 link 与 @import 的区别:

本质上,这两种方式都是为了加载 CSS 文件,但还是存在着细微的差别。

差别1:老祖宗的差别。link 属于 XHTML和html5 标签,而 @import 完全是 CSS 提供的一种方式。link 标签除了可以加载 CSS 外,还可以做很多其它的事情,比如定义 RSS,定义 rel 连接属性等,@import 就只能加载 CSS 了。

差别2:加载顺序的差别。当一个页面被加载的时候(就是被浏览者浏览的时候),link 引用的 CSS 会同时被加载,而 @import 引用的 CSS 会等到页面全部被下载完再被加载。所以有时候浏览 @import 加载 CSS 的页面时开始会没有样式(就是闪烁),网速慢的时候还挺明显(梦之都加载 CSS 的方式就是使用 @import,我一边下载一边浏览梦之都网页时,就会出现上述问题)。

差别3:兼容性的差别。由于 @import 是 CSS2.1 提出的,所以老的浏览器不支持,@import 只有在 IE5 以上的才能识别,而 link 标签无此问题。差别4:使用 dom 控制样式时的差别。当使用 javascript 控制 dom 去改变样式的时候,只能使用 link 标签,因为 @import 不是 dom 可以控制的。

大致就分这几种差别了(如果还有,大家告诉我再补充上去),其他的都一样,从上面的分析来看,还是使用 link 标签比较好。


上一篇:css实现强制不换行/自动换行/强制换行
下一篇:前端高手也不能错过的css常识
您的疑惑,我们来解答

8年来我们为上百家企业提供了网站建设服务

感受专业服务,从来电咨询开始
010-6975976518611391767
在线咨询
X