overflow:hidden的做用

功能一、隐藏溢出 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中显示以下图:

1.jpgwai层div被nei层div撑开。

在IE七、IE八、FF中显示以下图:

2.jpgwai并无被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的在这个立体的浮动已经被清除了。

相关文章
相关标签/搜索