内联样式优先级高于外部样式,因特殊性更高;但若外部样式使用!important且内联未用,则外部样式生效,层叠顺序与选择器特殊性共同决定最终效果。

在CSS中,内联样式和外部样式的优先级是由特殊性(Specificity)和层叠顺序(Cascade)共同决定的。当多个样式规则作用于同一个元素时,浏览器会根据这些规则来判断哪个样式生效。
内联样式的优先级高于外部样式
内联样式是直接写在HTML标签的style属性中的,例如:
<p style=”color: red;”>这段文字是红色的</p>
这种写法的优先级非常高,通常会覆盖外部样式表或内部样式表中的相同属性设置。
立即学习“前端免费学习笔记(深入)”;
外部样式的基本情况
外部样式是通过<link>标签引入的独立CSS文件,或者写在<style>标签内的规则。例如:
<link rel=”stylesheet” href=”styles.css“>
这类样式的优先级低于内联样式,但可以通过提高选择器的特殊性(如使用ID选择器、!important等)来增强控制力。
影响优先级的关键因素
以下几点决定了最终哪条样式规则生效:
- 来源顺序:后出现的样式会覆盖前面的,前提是优先级相同
- 特殊性:ID > 类 > 标签选择器,内联样式的特殊性最高之一
- !important:在声明后加!important可以强制提升优先级,甚至可覆盖内联样式(除非内联本身也用了!important)
举个例子:
如果外部样式写了 p { color: blue; },而HTML中是 <p style=”color: red;”>,最终文字颜色会是红色。
但如果外部样式使用了 p { color: blue !important; },并且没有在内联中也加!important,那么蓝色仍会被应用。
基本上就这些。内联样式默认优先级高,但不是不可覆盖,关键看是否用到了更强势的控制手段,比如!important或更高特殊性的组合。


