后引入的CSS文件优先级更高,通过调整link标签顺序可控制样式覆盖,推荐使用link而非@import以提升性能和可控性。

通过 link 标签 引入的 CSS 文件,其加载顺序直接影响样式的优先级。浏览器解析 HTML 时按顺序处理 link 标签,后加载的样式会覆盖前面相同权重的规则。
1. 控制加载顺序决定优先级
多个外部样式表通过 link 引入时,写在后面的 link 标签具有更高的优先级,前提是选择器权重相同。
- 先引入 reset.css 清除默认样式
- 再引入 common.css 定义通用类
- 最后引入 theme.css 定义主题,可覆盖前两者
如果三者中有相同选择器,theme.css 中的样式生效。
2. 避免使用 @import 提升性能和可控性
在 CSS 文件中使用 @import 会延迟样式加载,且难以控制优先级。推荐全部用 HTML 中的 link 标签引入,便于管理顺序。
- @import 是串行加载,影响渲染速度
- link 支持 media 属性,可条件加载
- link 可通过 JavaScript 动态插入或移除
3. 结合媒体查询(media)优化应用逻辑
利用 media 属性让某些样式仅在特定条件下生效,间接控制优先级。
不同设备下只应用对应样式,避免冲突。
4. 权重相同时,后加载者胜出
CSS 优先级由选择器权重、来源和顺序共同决定。当权重一致(如都是 class 选择器),则以 link 的书写顺序为准。
- 内联样式 > 内部样式 > 外部样式(同位置)
- 多个外部样式:后引入 > 先引入
所以调整 HTML 中 link 的顺序是最直接的优先级控制方式。
基本上就这些。关键是把最重要的样式文件放在最后引入,确保它能覆盖之前的定义。不复杂但容易忽略。










