- 兼容性
@import
是 CSS2.1 才有的语法,故只可在 IE5+ 才能识别;link
标签作为 HTML 元素,不存在兼容性问题。
- 加载页面顺序
@import
引入的 CSS 将在页面加载完毕后被加载。link
标签引入的 CSS 被同时加载;
- 从属关系(功能)
@import
是 CSS 提供的语法规则,只有导入样式表的作用;link
是HTML提供的标签,不仅可以加载 CSS 文件,还可以定义 RSS、rel 连接属性等。
- DOM可控性
- 由于 DOM 方法是基于文档的,无法使用@import的方式插入样式。
- 可以通过 JS 操作 DOM ,插入link标签来改变样式;
- 权重区别
link
引入的样式权重大于@import
引入的样式。
总体来说:link
优于@import
总结
link
是HTML
方式,@import
是CSS方式link
最大限度支持并行下载,@import
过多嵌套导致串行下载,出现FOUC
(文档样式短暂失效)link
可以通过rel="alternate stylesheet"
指定候选样式- 浏览器对
link
支持早于@import
,可以使用@import
对老浏览器隐藏样式 @import
必须在样式规则之前,可以在css文件中引用其他文件- 总体来说:
link
优于@import