当应用于内部div时,背景颜色传播/覆盖外部div

时间:2011-06-29 11:42:33

标签: css html background-color

我有div后跟另一个div

<div class="myclass">
  <div>Some Data</div>
</div>

和类内容一样

.myclass div {
  background-color: #fff;
  border: 1px solid #000;
  padding: 4px 16px;
}

此处background-color不仅适用于inner div,还适用于outer div

它不应该只适用于内部div吗? 还有其他可能的方法吗?

我无法将类指定为inner div,因为它是由其他api动态生成的。

提前致谢..

2 个答案:

答案 0 :(得分:2)

您的CSS对于您想要做的事情是正确的。您遇到的问题是计算两个div上的大小的方式。

除非div.myclass内有任何其他内容,否则其大小将由其中的div设置 - 基本上,内部div完全填充外部div。

您可以尝试添加:

.myclass {padding:16px;}

看到差异 - 它会在两个div之间留出空间。

答案 1 :(得分:2)

padding应用于外部div

http://jsfiddle.net/xCedS/

.myclass {
    padding: 4px 16px;
}
.myclass div {
    background-color: #fff;
    border: 1px solid #000;
}

最终为OP工作的原始答案:https://stackoverflow.com/revisions/6520122/1