css link import 两者之间的区别

link和@import都是HTML中引入CSS的语法单词。

<link href="外部CSS文件的URL路径" rel="stylesheet" type="text/css" />
<style type="text/css">
@import + 空格 + url(外部CSS文件URL路径地址);
</style>

两者的区别:

两者都是外部引用CSS的方式,但是存在一定的区别。

区别1:link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS。

区别2:link引用CSS时,在页面载入时同时加载;@import需要页面完全载入后才加载。

区别3:link是XHTML标签,无兼容问题;@import是在CSS2.1中提出的,低版本的浏览器不支持。

区别4:link支持使用JavaScript控制DOM去改变样式;@import不支持这样的操作(JavaScript可以获取link标签元素,但获取不到@import,因为@import只是一种CSS语法)。

区别5:@import是 CSS 提供的语法规则,只有导入样式表的作用;link是HTML提供的标签,不仅可以加载 CSS 文件,还可以定义 RSS、rel 连接属性等。

区别6:加载顺序区别:link标签引入的 CSS 被同时加载;@import引入的 CSS 将在页面加载完毕后被加载。

区别7:兼容性区别:@import是 CSS2.1 才有的语法,故只可在 IE5+ 才能识别;link标签作为 HTML 元素,不存在兼容性问题。

区别8:DOM可控性区别,可以通过 JS 操作 DOM ,插入link标签来改变样式;由于 DOM 方法是基于文档的,无法使用@import的方式插入样式。

区别9:权重区别:link引入的样式权重大于@import引入的样式。

原文地址:https://www.cnblogs.com/e0yu/p/14252764.html