css在特定div下重置

时间:2012-03-23 13:22:37

标签: css

我知道有很多相似的问题,但其中任何一个都无济于事。在一个特定的div我需要从这个div的上一层清除所有的css格式。

例如“h2”有一个所有网站的风格是粉红色和它的罚款,但在class =“foo”h2需要重置黑色,但如果我想我可以把任何其他类放在foo div和h2下红色将可用。

一般h2>粉红色

<h2>I am pink</h2>

<div class="foo">
<h2>I am black</h2>
</div>

<div class="foo">
<div class="somestyle">
<h2>I am red</h2>
</div>
</div>

感谢您的帮助

3 个答案:

答案 0 :(得分:1)

来自父元素的CSS插入,因此从与HTML结构匹配的目标make声明中获取HTML树:

.foo h2 { color:#000000 }

.foo .somestyle h2 { color:#ff0000 }

答案 1 :(得分:0)

您可以使用!important指令

看看:important

答案 2 :(得分:0)

如果您将h2元素全局声明为粉红色,则需要考虑css(或级联)中的优先顺序,而不管它在哪里都会被视为粉红色。除非您在某个类下指定不同的样式,否则它将被更改。因此,在您的情况下,css将如下所示:

h2 {
    color:pink;
}

•所有h2元素都将显示为粉红色

.foo h2 {
    color: black;
}

•在.foo课程下,所有h2个元素都会显示为黑色。

.somestyle h2 {
    color:red;
}

•在.somestyle班级下,所有h2个元素都会显示为红色。

您可以通过更具体的选择器来解决这个问题,例如:

.somestyle .foo h2 {
    color:blue;
}

•在这里,您选择了h2元素,该元素是.foo的孩子,他是.somestyle的孩子,并且颜色不同。请注意该选择器.somestyle .foo的细节,而不是像.foo那样不太具体的选择器。

demo

注意订单的编写方式。首先给出全局h2样式,然后在其他类下指定不同的颜色来覆盖该顺序。所以关于组织。

这是一篇关于优先顺序的好文章:http://www.vanseodesign.com/css/css-specificity-inheritance-cascaade/

注意:我不建议您使用!important声明,因为它会破坏规则的自然流动,而是使用适当的特定选择器。