【发布时间】:2016-02-17 08:17:42
【问题描述】:
当我用margin: 30px 0; 添加像h1 这样的元素时,边距会超出容器!
我之前多次遇到这个问题,我通过使用overflow: hidden解决了它
我想弄清楚问题出在哪里以及为什么这个解决方案有效?
在这里找到一个 JSFiddle https://jsfiddle.net/LeoAref/zv6c2c2d/
.container {
background: #ccc;
}
.container.overflow {
overflow: hidden;
}
.secTitle {
margin: 30px 0;
}
code {
color: blue;
}
<!-- secTitle margin goes outside the container -->
<div class="container">
<h1 class="secTitle">Container without <code>overflow: hidden</code></h1>
</div>
<!-- works fine here -->
<div class="container overflow">
<h1 class="secTitle">Container with <code>overflow: hidden</code></h1>
</div>
【问题讨论】:
-
为什么不能使用填充来代替?这就是它的设计目的!
-
@jbutler483 我可以使用许多其他方式,但我想弄清楚为什么会这样。
-
margin 位于元素之外。
标签: html css overflow margin margins