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

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

<style type="text/css" media="screen">
@import url("http://www.abaonet.com/abc.css");
</style> 

而很多网站使用的都是 link

<link rel="stylesheet" rev="stylesheet" href="style.css" type="text/css" media="all" />

 

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

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

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

@import 为 CSS 服务

link 是为当前的页服务

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

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

差别1:老祖宗的差别。link 属于 XHTML 标签,而 @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的link和import方式的分析与比较,布布扣,bubuko.com

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

上一篇:从太阳巴士到网站设计


下一篇:PHP