解决子容器全部浮动时父容器高度不能自动撑开的方法

(编辑:jimmy 日期: 2024/11/11 浏览:2)

刚入门网站设计布局的开发者肯定会碰到这样的问题,那就是当子容器全部浮动的时候,父容器的高度不能自动撑开。在我们没有为富容器设置边框或背景的时候是看不到这个问题的,如下的代码。

复制代码代码如下:
<div style="background: #F99; width: 400px; border: 1px solid #3CF;"> <div style="float: left; background: #36F; width: 180px; height: 180px;">I'm a son container .</div> <div style="float: left; background: #F60; width: 180px; height: 180px;">I'm the other son container .</div> </div>

运行后,大多数的人会觉得很明显,这就是一个父容器包裹着两个子容器,但其实没有那么简单,父容器的高度会显示为0,你能看到的只是父容器的边框,而高度并没有被内部的两个子容器的高度撑开。这个时候如果我们为父容器设置背景将不会被显示。
解决的方法其实比较简单,那就是给父容器增加一个属性,overflow:hidden。
另外一个有效的方法就是在所有的子元素闭合标签后增加一个

复制代码代码如下:
<div style="clear:both;"></div>

来清除浮动。这也是一个比较好的做法,通常用在父容器需要设置固定高度的时候,但是又怕内容太多由于设置了overflow而不能显示。这两种方法都是有效的,大家可以在实践中测试。