假设我有3个Div,一个叫做A,其他就是B和C,在CSS中,Div A,B和C将始终具有与下面CSS示例中显示的相同的背景颜色。
div .A {
background-color: black;
}
div .B {
background-color: black;
}
div .C {
background-color: black;
}
我的问题:无论如何我可以改变div A的背景颜色,然后其他div B和C实际上会拉出应用于A的任何颜色并继承它吗?我可以只使用CSS吗?
答案 0 :(得分:3)
严格来说,没有。
CSS类上没有类级继承。属性可以通过DOM层次结构传播,但是没有直接的方法可以使类B和C从A的定义继承背景颜色。对于要共同共享的属性,通常只需应用一个公共类那些DOM元素。
换句话说,你不能仅仅在CSS中构建A,B和C之间的理想关系。有了正确的DOM,你就可以做到。但如果你不希望B和C在DOM中成为A的孩子,那么你就不幸了。
答案 1 :(得分:2)
您必须让div .A
成为div .B
和div .C
的父级,然后将B和C上的background
属性设置为inherit
。这样,B和C(A的孩子)从字面上继承了他们的父母。
或者,您可以创建一个不同的类(比如说“父”)并让div .B
,div .C
和 div .A
继承自div .parent
<div class="parent">
<div class="A"></div>
<div class="B"></div>
<div class="C"></div>
</div>
.parent {
background: red;
}
.A {
background: black; /* let's change this for the sake of being rogue */
}
.B, .C {
background: inherit; /* will inherit "red" from .parent */
}