link和@import的区别

这个问题都算我们前端开发者的老朋友了,偶尔想起但总是很容易忘记,今天再记录一次,以便记忆
从本质上讲,这两兄弟的作用都是为了加载css文件,但是他们从性能上,从兼容性上,都有细微的差别,这些差别很容易混淆,所以我再列举一遍把

1.本身性质差别

link属于HTML的一个标签,它除了加载css文件之外,还可以定义RSS,定义ref链接等等,@import是css提供的一种方法,他只能用来加载css文件

2.加载顺序的差别

当我们浏览网页时,link引用的css会同步加载,但@import引用的css文件会等到页面全部被下载完再加载,所以如果试用import引入,可能会导致页面一开始没有样式,网速慢得时候很明显

3.兼容性的差别

link完全兼容,但是@import只有ie5以上得才支持(因为css2.1才提出)

4.DOM得可控性

当使用JavaScript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的。
(这句话我看很久没看明白,后来才看懂这句话,意思其实很简单)如果想用js去改变样式的话,你只能采用link引入得css样式,import引入得样式表是不能用js操控dom改变得,因为import无法被dom操控

还有就是权重方面得区别了,这方面争议挺大得,也没个标准,我就没多做研究,有心得朋友们自己发掘⑧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值