HTML | 外部引入 CSS 的2种方式:link和@import有什么区别?

20 篇文章 4 订阅
9 篇文章 1 订阅

外部引入 CSS 有2种方式,link 和 @import。就结论而言,强烈建议使用 link ,慎用 @import 方式

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

1)从属关系区别

linkHTML / XHTML标签,除了能够加载CSS,还可以定义rel、RSS等属性;

<link rel="stylesheet" href="style.css">

@import属于CSS范畴,只可以加载CSS

<style>
  @import url("theme.css");
  body {
    font-size: 20px;
  }
</style>

因此,link可以在HTML中使用,而@import只能在CSS中使用。 

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

2)加载顺序区别
link引用CSS时,在页面载入时同时加载;@import需要页面完全载入以后再加载。

加载页面时,link标签引入的 CSS 在加载页面时会被同时加载;@import引入的 CSS 将在页面加载完毕后才会被加载,因此,可能会导致页面加载速度变慢。

3)兼容性区别

linkHTML / XHTML标签,无兼容问题;@import则是在CSS2.1提出的,低版本的浏览器不支持,只可在 IE5+ 才能识别;

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

4DOM可控性区别 (DOM操作能力)

link支持使用Javascript控制DOM改变样式;而@import不支持。

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

‌(5)两者的权重不同(有争议)

@import 的权重要高于 link

也有说,link 引入的样式权重大于 @import 引入的样式

相关参考

引入外部样式表:link和@import有什么区别?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

儒雅的烤地瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值