@import是CSS语法,只能在style标签或CSS文件中使用,用于导入外部样式表。正确用法需置于CSS规则开头,支持媒体查询但存在性能问题,因阻塞渲染且延迟加载。相比HTML的link标签,@import无法并行下载,影响页面性能。推荐优先使用link标签引入CSS,仅在模块化管理、主题切换或维护遗留代码时使用@import。

在HTML中不能直接使用 @import 引入外部CSS文件。@import 是CSS语法的一部分,只能在CSS文件或 style 标签内的CSS规则中使用,用于从其他样式表导入样式。正确理解和使用 @import 对于优化页面加载和维护样式结构非常重要。
1. @import 的正确使用位置
@import 必须写在CSS规则的最开始处,否则会被忽略。它可以在以下两种场景中使用:
- 在HTML的 标签内使用
- 在外部CSS文件中导入另一个CSS文件
@import url('https://example.com/styles.css');
body { margin: 0; }
@import 'reset.css';
@import 'layout.css';
2. 使用 @import 的注意事项
- 性能影响:@import 会延迟样式加载,因为被导入的CSS文件只有在主样式表下载解析后才开始请求,可能导致页面渲染变慢
- 必须放在开头:任何CSS规则写在 @import 之前会导致其失效
- 可链式调用但不推荐:可以多层导入,但会增加HTTP请求和加载时间
- 支持媒体查询:可以按条件导入,如 @import url('print.css') print;
3. 兼容性与替代方案
@import 在现代浏览器中基本都支持,包括IE5以上版本。但在实际开发中,更推荐使用HTML中的 link 标签引入CSS。
- link 标签优势:浏览器能尽早发现并并行加载CSS,提升页面性能
- 预加载兼容性好:可通过 rel="preload" 提前加载关键样式
- 更好的控制力:支持 media 属性、onload 事件等
rel="stylesheet" href="styles.css">
4. 何时适合使用 @import
- 需要在CSS文件内部组织模块化样式时
- 主题皮肤系统中动态导入不同配色方案
- 维护遗留项目且无法修改HTML结构时
基本上就这些。虽然 @import 可以实现样式引入,但出于性能考虑,日常开发中建议优先使用 link 标签。只有在特定CSS模块管理场景下才考虑使用 @import。
立即学习“前端免费学习笔记(深入)”;











