CSS引入方式顺序对样式覆盖的影响是什么

来源:菜鸟站长作者:葵司头衔:网络博主
导读:本期聚焦于小伙伴创作的《CSS引入方式顺序对样式覆盖的影响是什么》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《CSS引入方式顺序对样式覆盖的影响是什么》有用,将其分享出去将是对创作者最好的鼓励。

CSS引入方式顺序对样式覆盖的影响核心由样式优先级规则决定,不同的引入方式对应不同的优先级权重,当多个样式作用于同一个元素时,优先级高的样式会覆盖优先级低的样式,若优先级相同则后引入的样式覆盖先引入的样式。

常见的CSS引入方式分类

日常开发中常用的CSS引入方式主要分为四类,按优先级从低到高排列如下:

  • 浏览器默认样式:浏览器自带的默认样式,比如<h1>标签默认有上下边距、<p>标签默认有外边距等
  • 外部样式表:通过<link>标签引入的.css文件样式
  • 内部样式表:写在HTML页面<style>标签内的样式
  • 内联样式:直接写在HTML元素style属性内的样式

优先级相同的情况:后引入覆盖先引入

当两种引入方式的优先级相同时,样式表的引入顺序会直接决定最终生效的样式,后加载的样式会覆盖先加载的同优先级样式。

外部样式表的顺序影响

假设我们有两个外部CSS文件,都定义了同一个div的背景色:

test1.css内容:

/* test1.css */
.box {
    background-color: red;
}

test2.css内容:

/* test2.css */
.box {
    background-color: blue;
}

在HTML中按如下顺序引入:

<link rel="stylesheet" href="test1.css">
<link rel="stylesheet" href="test2.css">
<div class="box">测试内容</div>

此时div的背景色为蓝色,因为test2.css后引入,覆盖了test1.css的同优先级样式。

内部样式表的顺序影响

同一个页面内写多个<style>标签时,后写的内部样式会覆盖先写的同优先级样式:

<style>
.box {
    font-size: 14px;
}
</style>
<style>
.box {
    font-size: 16px;
}
</style>
<div class="box">测试内容</div>

最终div的字体大小为16px,后定义的内部样式覆盖了先定义的样式。

优先级不同的情况:高优先级覆盖低优先级

不管引入顺序如何,高优先级的引入方式样式都会覆盖低优先级的样式,优先级顺序为:内联样式 > 内部样式表 > 外部样式表 > 浏览器默认样式。

示例如下:

<style>
.box {
    color: green;
}
</style>
<div class="box" style="color: orange;">测试内容</div>

此时div的文字颜色为橙色,因为内联样式的优先级高于内部样式表,即使内部样式表后引入也无法覆盖内联样式。

特殊规则:!important的影响

如果在样式后添加!important声明,该样式的优先级会提升到最高,无论引入方式顺序如何,都会覆盖其他没有添加!important的同属性样式:

<style>
.box {
    color: green !important;
}
</style>
<div class="box" style="color: orange;">测试内容</div>

此时div的文字颜色为绿色,因为内部样式表的color属性添加了!important,优先级高于内联样式。

优先级权重计算参考

为了更清晰判断样式优先级,我们可以参考如下权重计算规则:

引入方式权重值
浏览器默认样式0,0,0,0
外部样式表/内部样式表(元素选择器)0,0,0,1
外部样式表/内部样式表(类选择器)0,0,1,0
外部样式表/内部样式表(ID选择器)0,1,0,0
内联样式1,0,0,0
带!important的样式最高优先级

当权重值相同时,才需要考虑引入顺序的影响,后引入的样式覆盖先引入的样式。

CSS样式覆盖引入方式优先级规则修改时间:2026-06-22 15:09:45

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。