我想给所有孩子的div元素一个父div的背景颜色。但是,正如我所看到的,即使孩子没有那个属性,孩子们的风格也会覆盖父母的风格。例如,
Parent's div
<div style="background-color:#ADADAD;">
some codes here...
child's div
<div style="position:absolute;font-size:12px; left:600px;top:100px;">
again some codes...
</div></div>
在这里,如果我删除子div的样式,它工作正常。我认为如果我也使用外部css文件做同样的事情,我的问题可能会得到解决。但是,我已经完成了数百个这样的div。那么,无论如何要强制父母的风格为儿童风格,只为背景颜色?(css中的新内容)
答案 0 :(得分:8)
但是,正如我所见,即使孩子没有那个属性,chid divs的风格也会覆盖父母的风格。
不,它们只是默认不继承该值,因此它们可以获得它们原本拥有的任何值(通常为transparent
)。
你可以(理论上)用背景颜色得到你想要的东西:inherit。那虽然有problems in older versions of IE。
答案 1 :(得分:4)
使用这样的css选择器使子div的背景从其父级继承:
Parent's div
<div id="thisparticulardiv">
some codes here...
child's div
<div class="childrendiv">
again some codes...
</div></div>
CSS:
#thisparticulardiv {
background-color:#ADADAD;
...
}
#thisparticulardiv div {
background: inherit;
position:absolute;
font-size:12px;
left:600px;
top:100px;
}
答案 2 :(得分:2)
在子div上使用inherit属性:
background:inherit
<div style="position:absolute;font-size:12px; left:600px;top:100px; background:inherit">