【发布时间】:2013-12-30 22:38:17
【问题描述】:
我有三个这样的嵌套 DIV 元素:
<div id="outer">
<div id="innerA">
<div id="innerB">
This<br/>is<br/>a<br/>multiline<br/>testcase.<br/>
This<br/>is<br/>a<br/>multiline<br/>testcase.<br/>
</div>
</div>
</div>
#innerA 的高度为100%,与#outer 一样大。 #innerB 的高度保留为 auto,因此它与内容一样高。现在,当我将#innerB 设置为具有margin-top: 10px 时,例如我希望#innerB 将获得与#innerA 相关的边距。相反,#innerA 相对于#outer 获得了这个边距。
这怎么可能?似乎这与box-sizing 无关,至少它无法以这种方式修复。
这是 CSS:
#outer {
width: 500px;
height: 300px;
background: yellow;
overflow: auto;
}
#innerA {
width: 100%;
height: 100%;
background: green;
}
#innerB {
margin-top: 10px;
background: blue;
}
还有小提琴:
(这里我希望绿色 DIV 适合黄色 DIV,并且在蓝色 DIV 上方有 10px 的绿色可见)。
【问题讨论】: