CSS声明的优先级依赖于它们在CSS中的顺序(后来的声明覆盖了之前的声明)及其特殊性(更具体的声明覆盖了不太具体的声明).(它与您在属性中指定类名的顺序无关.)第6节中的更多内容是规范.
这是订单的一个例子.这个CSS
.foo {
color: red;
}
.bar {
color: blue;
}
Run Code Online (Sandbox Code Playgroud)
用这个HTML
<p class="foo bar">Hi there</p>
<p class="bar foo">Hi again</p>
Run Code Online (Sandbox Code Playgroud)
...导致两个蓝色段落,因为第二个声明优先于第一个.(实例)这是因为两个声明具有相同的特异性.
这是一个特异性的演示:
这个CSS
p.foo {
color: red;
}
.bar {
color: blue;
}
Run Code Online (Sandbox Code Playgroud)
...使用相同的HTML会产生两个红色段落,因为选择器p.foo比选择器更具体.bar,因此它优先于CSS,尽管它在CSS中更早.(实例)