在学习HTML和CSS的一些总结和经验,供大家参考和学习,同时也欢迎大家参与讨论。
前言:这个问题也是在前端面试经常会问到的的题目。
用法
比如:
1、@import
1 | <style type="text/css" media="screen"> |
2、link
1 | <link rel="stylesheet" rev="stylesheet" href="default.css" type="text/css" media="all" /> |
差别
外部引用CSS中 link与@import的区别
ONE:link属于XHTML标签,而@import完全是CSS提供的一种方式。link标签除了可以加载CSS外,还可以做很多其它的事情,比如定义RSS,定义rel连接属性等,@import就只能加载CSS了。
TWO:加载顺序的差别。当一个页面被加载的时候,link引用的CSS会同时被加载,而@import引用的CSS 会等到页面全部被下载完再被加载。所以有时候浏览@import加载CSS的页面时开始会没有样式(就是闪烁),网速慢的时候比较明显。
THREE:兼容性的差别。由于@import是CSS2.1提出的,所以老的浏览器不支持,@import只有在IE5以上的才能识别,而link标签无此问题,都支持。
FOUR:使用DOM控制样式时的差别。当使用JavaScript控制DOM去改变样式的时候,只能使用link标签,因为@import不是DOM可以控制的。
FIVE:link方式的样式的权重高于@import的权重。
SIX:link可以使用 js 动态引入,@import不行。
文章标题: link 和@import 的区别
文章作者: 王奕聪,QQ:1301842163
许可协议:
©署名-非商用-相同方式共享 4.0
