为什么会出现盒子塌陷?
盒子塌陷是本应该在父盒子内部的元素跑到了外部。当父元素没有足够大小的时候,而子元素设置了浮动的属性,子元素就会跳出父元素的边界(脱离文档流),尤其是当父元素的高度为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里添加的东西再多,超出部分隐藏
最后留一个问题,不是如何解决坍塌而怎么避免坍塌的发生?
网友评论