功能一、隐藏溢出 css
在IE6下,当子容器的宽高超出父容器时,父容器就会被撑开来。 浏览器
要想解决这个问题,在父容器中除定义宽和高的值之外,还必须写overflow:hidden,这样就能把子容器的其它内容隐藏。 spa
可是在火狐或者其余浏览器里面,咱们发现问题并不是如此简单。咱们发现,当子容器这个div的宽度和高度都大于父容器这个div的时候,父容器并无被内撑开而是依旧显示为咱们指定的宽高。 容器
例如:结构以下: float
<div id="wai"> im
<div id="nei"></div> img
</div> di
css代码: 清除浮动
#wai{ width:200px; background:#000; height:200px; border:2px blue solid; } co
#nei { float:left; width:300px; height:300px; background:red;}
在IE6中显示以下图:
wai层div被nei层div撑开。
在IE七、IE八、FF中显示以下图:
wai并无被nei撑开而是依旧显示为咱们指定的宽高。
可是若是咱们在#wai中加上overflow:hidden; 显示就会变化了,nei的宽高自动的被隐藏掉了。
总之,当咱们没有给wai这个div设置高度的时 候,nei这个div的高度,就会撑开wai这个div,而在另外一个方面,咱们要注意到的是,当咱们 给wai这个div加上一个高度值,那么不管nei这个div的高度是多少,wai这个高度都是咱们设定的值。而当nei的高度超过wai的高度的时候, 超出的部分就会被隐藏。这就是隐藏溢出的含义!
功能二、消除浮动
当nei这个div加上浮动这个属性的时候,在显示器的侧面,它已经脱离了wai这个div,也就是说,此时的nei的宽高是多少, 对于已经脱离了的wai来讲,都是不起做用的。当咱们全面的理解了浮动这个词的含义的时候,咱们就理解overflow:hidden这个属性中的解释, 清除浮动是什么意思了。也就是说,当咱们给wai这个div加上overflow:hidden这个属性的时候,其中的nei等等带浮动属性的div的在这个立体的浮动已经被清除了。