一、功能不同

@import是由CSS提供的语法规则,只能用来导入CSS样式表。 link标签是属于HTML标签,不仅可以加载CSS样式表,还可以定义RSS、rel链接属性……

二、加载CSS情况不同

加载页面时,link标签引入的 CSS 被同时加载 ;@import是在读取完整个html文件之后才加载,当网速存在问题时,页面可能会出现无CSS样式页面,从而导致出现@import加载页面开始的瞬间会有闪烁,然后再加载CSS使页面恢复正常的情况。

三、浏览器支持情况不同

几乎全部浏览器都支持link;旧的浏览器不支持@import,只有在IE5以上的浏览器才能识别@import。对于现在的浏览器来说,几乎是一样的。

四、DOM可控性区别

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