CSS 浮动为什么会塌陷以及解决方案

CSS 浮动为什么会塌陷以及解决方案

CSS 浮动为什么会塌陷

浮动

浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。

浮动脱离文档流,所以文档的普通流中的块框表现得就像浮动框不存在一样。

浮动塌陷

当元素设置浮动而父元素的宽高没有设置时,高度会塌缩为0。如图

解决方案

1 在父元素里面填加一个没宽度高度的元素使用clear:both

按照我的理解在外部div的后面加上了一个没有高度和宽度的元素,并且使用了clear清除了左右的浮动使得两边没有浮动对象让整个内容被撑开。

2 使用overflow:hidden

overflow:hidden触发了外层的BFC布局,使得内层的高度被计算。

3 给父元素添加高度

相关推荐