① 确认匹配:哪些规则作用于它?
段落带有 card 类,因此两条 .card 规则都匹配这个 p。
层叠(cascade):同一个元素的同一个属性有多个候选值时,浏览器按一套规则确定采用哪条声明。
<style>
.card {
color: navy;
font-weight: bold;
}
.card {
color: teal;
}
</style>
<p class="card">唱腔赏析:观察最终颜色</p>
后一条规则把文字颜色改为青绿色,但不会取消前一条设置的加粗。颜色与字重分别确定,不是整条规则一起被替换。
段落带有 card 类,因此两条 .card 规则都匹配这个 p。
color 有 navy、teal 两个候选值,需要比较;font-weight 只有 bold,保留加粗。
在来源、重要性等前置条件相同时,特异性高的优先。本例都是普通样式,且选择器同为 .card,特异性相同。
此时后写的 color: teal 生效,文字变为青绿色。特异性如何计算,下一页再介绍。
<style>
.card {
color: navy;
font-weight: bold;
}
.card {
color: teal;
}
</style>
<p class="card">唱腔赏析:观察最终颜色</p>