使用@import会延迟请求、串行加载且阻塞渲染,而可提前发现资源并并行下载。1. @import需解析CSS后才发起请求;2. 多个@import无法并发;3. link在HTML解析时即开始加载;4. 推荐内联关键CSS、异步加载非关键资源、合并文件及启用压缩缓存以优化性能。

使用@import引入CSS确实会影响页面性能,尤其是在关键渲染路径中。相比直接使用标签,@import会导致额外的请求延迟和阻塞问题,从而拖慢页面加载速度。
为什么@import会影响性能?
@import 是在 CSS 文件中通过语句导入另一个 CSS 文件的方法,例如:
@import url('styles.css');这种方式的问题在于:
- CSS 文件必须先下载并解析到包含
@import的语句时,浏览器才知道需要加载另一个文件,造成请求延迟 - 多个
@import会形成串行加载,无法并行下载资源 - 它可能阻塞关键 CSS 的应用,延长首次渲染时间
推荐使用替代@import
将外部样式表通过 HTML 中的 标签引入,可以让浏览器在解析 HTML 时尽早发现资源并发起请求,提升加载效率。
立即学习“前端免费学习笔记(深入)”;
这种写法的优势包括:
- 浏览器能提前发现资源,尽早开始下载
- 多个
可以并行加载,减少总耗时 - 更利于构建关键路径优化策略
其他CSS加载优化建议
除了避免使用 @import,还可以通过以下方式进一步优化CSS加载:
-
内联关键CSS:将首屏渲染所需的样式直接写入 HTML 的
标签中,避免额外请求 -
异步加载非关键CSS:对字体、动画等非首屏样式使用
rel="preload"或动态插入方式延迟加载 - 合并小文件:减少HTTP请求数量,特别是在HTTP/1环境下效果明显
- 启用压缩与缓存:使用 Gzip/Brotli 压缩,并设置合理的缓存策略
基本上就这些。避免 @import,优先用 ,再配合现代优化手段,能显著提升页面渲染性能。











