只是想知道您何时在一个元素上使用多个类,例如class="foo bar"
,这些类的设置如下:
.foo {
margin-right: 10px;
}
.bar {
margin-right: 0px;
}
哪个类将具有特异性?边距是 10px 还是 0px?
只是想知道您何时在一个元素上使用多个类,例如class="foo bar"
,这些类的设置如下:
.foo {
margin-right: 10px;
}
.bar {
margin-right: 0px;
}
哪个类将具有特异性?边距是 10px 还是 0px?
它基于 CSS 中的优先级工作。因此,最近出现的项目将覆盖任何以前的样式。
情况1
.foo { background : red; }
.bar { background : blue; }
class = 'foo bar'
在这种情况下会是蓝色的。
案例二
.bar { background : blue; }
.foo { background : red; }
class = 'foo bar'
在这种情况下会是红色的。
Also, if you wish to target the element who has only both classes, you can use this syntax:
<ul>
<li class="foo first">Something</li>
<li class="foo">Somthing else</li>
<li class="foo">Something more</li>
</ul>
.foo {
color: red;
}
.foo.first {
color: blue
}
单个类名具有相同的权重。在这种情况下,第一个列出的规则将被第二个覆盖,因此,该元素将具有margin-right: 0px;
这是一个使用而不是边距的简单示例color
,因为它更容易可视化。中指定的值bar
将由浏览器选择。
此外,更“特定”的类将覆盖更通用的类:
HTML:
<div class="foo"> <div class="bar">Hello World!</div> </div>
使用以下 CSS:
.foo .bar { margin-left:25px }
.bar { margin-left:0px }
请注意内部 div 的左侧仍然有 25px 的边距?
此外,在提供值后阅读“!important”参数:
.bar { margin-left:0px!important }
查看