我创建一个<div>
中,我想申请两个班的标签<div>
标签,它会是一个缩略图画廊。 一类为它的位置和其他类的风格。 这样我可以申请风格,我是具有给我带来了一个问题,一些奇怪的结果。
可两个班被分配到<div>
标签? 如果是这样,其中一个否决其他的一个或哪一个优先?
我创建一个<div>
中,我想申请两个班的标签<div>
标签,它会是一个缩略图画廊。 一类为它的位置和其他类的风格。 这样我可以申请风格,我是具有给我带来了一个问题,一些奇怪的结果。
可两个班被分配到<div>
标签? 如果是这样,其中一个否决其他的一个或哪一个优先?
多个类别可以被分配到一个div。 就在类名像这样的空格分隔它们:
<div class="rule1 rule2 rule3">Content</div>
那么这个div将匹配三种不同的类选择任何样式规则: .rule1
, .rule2
和.rule3
。
CSS规则应用于符合他们的选择中它们在样式表中出现的顺序是,如果有两个规则(多个规则试图设置相同的属性)之间的冲突,然后在页面对象CSS特殊性决定了规则优先。
如果CSS特异性是针对冲突的规则是相同的,那么后来一个(后面的样式表或在后来的样式表中定义的)优先。 对象本身的类名的顺序并不重要。 这是在样式表如果CSS特异性相同的事项的样式规则的顺序。
所以,如果你有风格是这样的:
.rule1 {
background-color: green;
}
.rule2 {
background-color: red;
}
随后,由于这两个规则匹配div和具有完全相同的CSS的特殊性,那么第二条规则是后话那么它会优先和背景是红色。
如果一个规则有较高的CSS特异性( div.rule1
得分高于.rule2
):
div.rule1 {
background-color: green;
}
.rule2 {
background-color: red;
}
然后,它会优先考虑这里的背景颜色是绿色。
如果两个规则不冲突:
.rule1 {
background-color: green;
}
.rule2 {
margin-top: 50px;
}
然后,这两个规则将被应用。
事实上,去年在CSS所定义的类 - 适用于您的股利。
看看这个:
.blue{ color: blue; } .red { color: red; }
<div class="blue red">blue red</div> <div class="red blue">red blue</div>
VS
.red { color: red; } .blue{ color: blue; }
<div class="blue red">blue red</div> <div class="red blue">red blue</div>
如果你问他们有相同的属性,然后按该CSS规则是采取的最后一条语句。
<div class="red green"></div>
CSS
.red{
color:red;
}
.green{
color:green;
}
按照上面的例子是把最后一条语句按CSS树是。绿色 。
即在CSS定义的最后的类具有优先权,如果没有别的应用。
阅读上的CSS优先 ,看看它是如何工作的。
许多类可以被分配给一个元素,你只需将它们用空格分隔
<div class="myClass aSecondClass keepOnClassing stayClassySanDiego"></div>
因为在CSS中的级联的,重写规则最接近到文档的底部将被应用到的元素。
所以,如果你有
.myClass
{
background: white;
color: blue;
}
.keepOnClassing
{
color: red;
}
红色将被使用,而不是背景颜色,因为它没有被覆盖。
你还必须考虑到CSS的特殊性,如果你有一个更具体的选择,这将是一个使用:
.myClass
{
background: white;
color: blue;
}
div.myClass.keepOnClassing
{
background: purple;
color: red;
}
.stayClassySanDiego
{
background: black;
}
这里的第二选择将被使用,因为它是更具体。
你可以采取看看它都在这里 。