级联
有时两个或多个相互冲突的 CSS 规则可能会应用于一个元素。级联是解决多个 CSS 规则应用于一个 HTML 元素所产生冲突的算法。
级联算法分为 4 个不同的阶段
- 出现的位置和顺序
- 特异性
- 来源
- 重要性
出现的位置和顺序
如果两个规则具有相同的特异性和重要性,则后定义的规则将覆盖先定义的规则。
button {
color: red;
}
button {
color: blue;
}
特异性
特异性是用来衡量样式规则优先级的一个指标,特异性数值越高,规则的优先级越高。
- ID 选择器,特异性100分
- 类选择器、伪类选择器、属性选择器,特异性10分
- 标签选择器、伪元素选择器,特异性1分
- 通用选择器,特异性0分
按优先级排列:ID 选择器 > 属性选择器 > 类选择器 > 标签选择器。
来源
指的是样式规则来自外部样式表、内部样式表还是内联样式。
- 内联样式,特异性1000分
按优先级排列:内联样式 > 内部样式表 > 外部样式表。
!important
使用 !important
标志可以使该规则具有最高的优先级。
!important
,特异性10000分
.my-class {
color: red !important;
}