【发布时间】:2015-03-05 22:13:03
【问题描述】:
这对某些人来说可能很明显,但我发现很难找到解决方案。
答题者须知:请跳至“真正的问题”,谢谢 :)
但我找到了——它在问题描述的下方:
问题:
在像这样的简单示例中,子边距不会影响父高度
HTML
<div class="parent">
<div class="child">Some text...</div>
</div>
CSS
.parent{ background: black; }
.child{
background: LightBlue;
margin: 20px;
}
小提琴:http://jsfiddle.net/k1eegxt3/
解决办法:
非常简单,默认情况下,子边距通常不会影响父高度和父尺寸,它很容易通过在父元素中添加边距可以“推”到的东西来解决,例如为父级添加内边距或边框。
调整后的 CSS:
.parent{ background: black; padding: 1px; /* PADDING ADDED */ }
.child{
background: LightBlue;
margin: 20px;
}
小提琴:http://jsfiddle.net/fej3qh0z/
真正的问题:
但是我实际上想知道为什么会这样工作,而不仅仅是它是如何修复的,
所以请,有人可以写一个解释这种行为的答案并添加一些 DOC 参考吗?
非常感谢:)
【问题讨论】:
-
你的意思是collapsing margins?
-
@j08691 好吧,这只是更多地说明问题何时会发生以及如何解决,并没有真正解释,但谢谢:)
-
您应该阅读该页面底部的链接。
标签: css