当父级设置为溢出时,为什么垂直边距会消失:可见?如果设置为溢出:隐藏边距再次可见.这似乎违反直觉.
我想我理解当一个元素的内容不适合它时溢出应该如何工作,但我不明白边缘发生了什么.
这是一个例子:(http://jsfiddle.net/VrVc7/)
#outer { background-color:#EEE; overflow:hidden; } #inner { margin: 30px; padding: 5px; background-color:#ABE; } <div id="outer"> <div id="inner">abc</div> </div>
解决方法
这是因为利润率下降:
如果你有溢出:隐藏,内部div的边距保留在外部div中.
如果你有溢出:可见,顶部和底部边距与外部div的零边距相互影响,因为它们相互接触.然后重新计算,使其与内边距相同.
因此,溢出:隐藏将打破内部崩溃的边缘.您可以通过为外部div提供填充或边框来打破边距折叠.所以他们不会互相接触,所以不会崩溃