overflow:hidden的问题

2018-04-20  本文已影响22人  叛经离道

为什么会出现盒子塌陷?

盒子塌陷是本应该在父盒子内部的元素跑到了外部。当父元素没有足够大小的时候,而子元素设置了浮动的属性,子元素就会跳出父元素的边界(脱离文档流),尤其是当父元素的高度为auto时,父元素没有其他非浮动的可见元素 ,父元素就会塌陷为零,我们称为CSS高度塌陷。

overflow:hidden---溢出,浮动,坍塌

1. 隐藏溢出

当父级元素有固定高度后的是可以用overflow:hidden来隐藏溢出

2.清除浮动

当父元素高度为auto时,使用overflow:hidden清除浮动当为div1和div2加float:left后,父级div消失了,(浮动元素脱离文档元素,不占空间)

3.解除坍塌

坍塌不分父级div高度是否固定(下面是坍塌例子)

margin-top不是相对于父元素,并且会向下顶父元素(这种情况只针对第一个子元素)

加上overflow:hidden即可解决

简单说overflow:hidden这个属性可以保证div高度或宽度不变,div里添加的东西再多,超出部分隐藏

浮动的元素不考虑坍塌

overflow:hidden在溢出和清除浮动上与父div是否有固定的高度有关,而坍塌没有。简单说overflow:hidden这个属性可以保证div高度或宽度不变,div里添加的东西再多,超出部分隐藏

最后留一个问题,不是如何解决坍塌而怎么避免坍塌的发生?

上一篇 下一篇

猜你喜欢

热点阅读