link和@import的区别:
使用链接link和导入import的好处就是易于维护,但当网速比较慢的时候,会出现加载中断的情况,导致页面排版错误,且作用相同都是加载CSS文件,唯一的不同是服务对象不一样,@import 为CSS服务;link是为当前的页服务( @import会优先执行)
- 从属关系区别:
@import
是CSS提供的语法规则,只有导入样式表的作用,放在任何的样式文件里面。而link
是HTML标签,不仅可以加载CSS文件,还可以定义rel
连接属性等,可以放在页面的任何位置。 - 加载顺序区别:
加载页面时,link
标签引入的CSS被同时加载,@import
引入的CSS将在页面加载完才加载。 - 兼容性区别:
@import
是在CSS2.1才有的语法,在版本比较高的浏览器才可以使用。link
作为HTML标签,不存在兼容性问题。 - DOM可控性区别:
可以通过JS操作DOM,插入link
标签来改变样式,由于DOM方法是基于文档的,所以无法使用@import
的方式插入样式。 - 权重区别(有争议):
link
引入的样式权重大于@import
引入的样式。