0

0

css如何通过link和@import引入外部样式_二者的异同与选择

P粉602998670

P粉602998670

发布时间:2026-02-28 11:07:47

|

129人浏览过

|

来源于php中文网

原创

link 是 html 标签,@import 是 css 规则;link 并行加载、兼容性好、支持动态控制,@import 串行加载、易导致 fouc、兼容性受限且仅适用于 css 内部。

css如何通过link和@import引入外部样式_二者的异同与选择

link 是 HTML 标签,@import 是 CSS 规则

link 必须写在 HTML 的 中,是文档结构的一部分;@import 只能出现在 CSS 文件内部(或 <style></style> 块中),本质是 CSS 语言提供的导入机制。

这意味着:@import 无法在纯 HTML 中直接使用(比如写在 里会无效),而 link 也不能写进 .css 文件里——放进去就语法错误。

  • link 支持 rel="stylesheet"mediadisabled 等属性,可动态控制加载与启用
  • @import 后面必须跟 URL 字符串,可选加 media query(如 @import url("a.css") screen and (min-width: 768px);
  • 多个 @import 会按顺序阻塞解析,且每个都触发一次 HTTP 请求(旧浏览器中尤其明显)

加载时机与性能差异极大

link 是并行加载:浏览器解析 HTML 时遇到 <link rel="stylesheet"> 就立即发起请求,不阻塞后续 HTML 解析(但会阻塞渲染)。

@import 是串行加载:CSS 文件被解析到 @import 行时才开始请求导入的资源,且下一个 @import 要等前一个下载并解析完才开始——这会导致关键样式延迟,FOUC(Flash of Unstyled Content)风险更高。

立即学习前端免费学习笔记(深入)”;

Timely
Timely

一款AI时间跟踪管理工具!

下载
  • <style></style> 块里写 @import,等同于把请求推迟到 CSS 解析阶段,比 link 晚至少一个事件循环
  • 如果在 A.css 里 @import B.css,B.css 中再 @import C.css,加载链变成 A → B → C,无法优化
  • 现代打包工具(如 Webpack/Vite)通常把 @import 提前 inline 或转为 link,但原始语义仍保留阻塞特性

兼容性与实际使用限制

link 兼容所有浏览器,包括 IE6+;@import 在 IE5.5+ 支持,但 IE6 及更早版本对 @import 的 media 查询支持有 bug(比如 @import url(x.css) print 可能在屏幕样式中也生效)。

更重要的是:某些环境根本不允许 @import

  • Gmail 等邮件客户端会剥离 @import,只保留内联样式和 link(但多数邮件客户端也不支持 link,所以实际都靠内联)
  • CSS-in-JS 库(如 styled-components)不解析 @import,需由构建工具提前处理
  • HTTP/2 下多个 link 并发优势更明显,而 @import 依然维持逻辑上的串行依赖

什么时候还能用 @import?基本只剩两个场景

不是“推荐用”,而是“没更好办法时勉强可用”:

  • 需要根据当前 CSS 文件的上下文条件导入(例如:主样式表里用 @import "theme/dark.css" screen and (prefers-color-scheme: dark);)——但注意,这种写法在未启用对应媒体查询的浏览器中仍会下载资源
  • 维护遗留系统,且已有大量嵌套 @import 链,临时改造成 link 成本过高

除此之外,没有理由优先选 @import。连 Sass/Less 的 @import 都已在新版本中标记为 deprecated,转向 @use@forward

真正容易被忽略的是:即使你没主动写 @import,某些 CSS 框架或图标库的 minified 版本可能悄悄包含它——建议用浏览器 DevTools 的 Network 面板过滤 .css 请求,看是否有意外的二级加载。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Sass和less的区别
Sass和less的区别

Sass和less的区别有语法差异、变量和混合器的定义方式、导入方式、运算符的支持、扩展性等。本专题为大家提供Sass和less相关的文章、下载、课程内容,供大家免费下载体验。

212

2023.10.12

Sass和less的区别
Sass和less的区别

Sass和less的区别有语法差异、变量和混合器的定义方式、导入方式、运算符的支持、扩展性等。本专题为大家提供Sass和less相关的文章、下载、课程内容,供大家免费下载体验。

212

2023.10.12

python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

192

2023.09.27

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

17

2026.02.03

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

638

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

218

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1560

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

645

2023.11.24

Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

0

2026.02.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.9万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.5万人学习

CSS教程
CSS教程

共754课时 | 37.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号