@import必须位于CSS文件开头,支持导入样式表和媒体查询条件加载,可用于模块化组织代码,但会同步阻塞、影响性能,不支持预加载且调试困难,相比link标签并行加载更差,建议用构建工具或预处理器处理依赖,生产环境避免多层嵌套,仅作过渡使用。
CSS 中的 @import 规则允许你在当前样式表中导入另一个样式表,常用于模块化组织 CSS 文件。虽然功能可用,但使用时需注意性能影响和浏览器行为。
@import 必须写在 CSS 文件的最前面(除 @charset 外),否则无效。支持两种写法:
还可配合媒体查询实现条件加载:
@import url("print.css") print;通过 @import 可将样式拆分为基础、组件、主题等模块,实现逻辑分离:
但所有导入文件会在页面解析到该规则时发起请求,不会阻塞渲染,但会延迟样式生效时间。
@import 是同步加载,每个导入都会阻塞后续资源,且无法被预加载提示优化。而 HTML 中的 可并行加载,性能更优。
@import 嵌套会导致请求串行,增加白屏时间尽管 @import 在原生 CSS 中存在,现代项目更建议:
@import 或 @use 在编译阶段处理依赖若必须使用原生 @import,应控制层级不超过一层,并确保关键样式内
联或通过 link 提前加载。
基本上就这些。合理组织样式结构更重要,@import 可作为过渡手段,但不推荐在高性能要求项目中广泛使用。