鉴于定义颜色属性的两个具有相同特性的类,我认为元素类属性中列出的最后一个类将优先。
来自http://htmlhelp.com/reference/css/structure.html:
规范的顺序 为方便起见,当两条规则具有相同的权重时,最后指定的规则获胜。
在以下真空代码示例中,定义类规则集的顺序决定了优先级。此处最后一个或最近的类规则集定义优先。
<style>
.makeBlue {color: blue;}
.makeGreen {color:green;}
</style>
<div>
<p class="makeGreen makeBlue">makeGreen makeBlue</p>
<p class="makeBlue makeGreen">makeBlue makeGreen</p>
</div>
输出文本为绿色。
如果我交换类声明的顺序,并首先声明 .makeGreen
<style>
.makeGreen {color:green;}
.makeBlue {color: blue;}
</style>
<div>
<p class="makeGreen makeBlue">makeGreen makeBlue</p>
<p class="makeBlue makeGreen">makeBlue makeGreen</p>
</div>
输出文本为蓝色。
我以前从未注意到这一点。编辑我认为编辑元素类属性中列出的最后一个类优先。
编辑 澄清->我有时将元素视为宠物,比如说狗。我看到向元素的类属性添加一个类就像向狗发出命令一样。如果我告诉它坐下,然后告诉它躺下,我希望狗躺下。我不希望这只狗保持坐着,因为我教了它如何坐下(最近才教它如何躺下)。
所以......两个问题。
- 这是应该的吗?回答
- 如果是这样……为什么?我无法看到必须挖掘类声明以确定哪个在另一个之前声明的优势。
非常感谢!