全面阐述overflow:hidden属性

  overflow:hidden这个CSS样式是大家常用到的CSS样式,但是大多数人对这个样式的理解仅仅局限于隐藏溢出,而对于清除浮动这个含义不是很了解。

  一提到清除浮动,我们就会想到另外一个CSS样式:clear:both,我相信对于这个属性的理解大家都不成问题的。但是对于“浮动”这个词到底包含什么样的含义呢?我们下面来详细的阐述一下。

<div id="wai">
 <div id="nei"></div>
</div>

这是一个常用的div写法,下面我们来书写样式。大家可以在DMX中自己做试验

#wai{ width:500px;  background:#000; height:500px;}

#nei { float:left; width:600px; height:600px; background:red;}

  可以看到,我给nei这个id加了一个浮动,我们常规的理解是,我们允许nei这个id的div的右边出现其他的内容,只要它的宽度不超过wai这个div和nei这个div的剩余值。

  如果div wai中还包含其他的div,我不允许它出现在nei的右侧,我们则用样式clear:both指定这个div,不允许它浮动在nei右侧。

  这些在ie6里面是正确的。但是在火狐或者其他浏览器里面,我们发现问题并非如此简单。我们发现,当nei这个div的宽度和高度都大于wai这个div的时候,wai并没有被内撑开而是依旧显示为我们指定的宽高。在我的例子中,都是500。

  这个时候我不理解了,我搜索了很多的资料,但是都没能理解这是为什么,直到看到别人在类似的情况下给wai这个div加了一个overflow:hidden这个属性解决了这个问题。

  我们直到overflow:hidden这个属性的作用是隐藏溢出,给wai加上这个属性后,我们的nei的宽高自动的被隐藏掉了。另外,我们再做一个试验,将wai这个div的高度值删除后,我们发现,wai的高度自动的被nei这个div的高度值给撑开了。

  说到这里,我们再来理解一下“浮动”这个词的含义。我们原先的理解是,在一个平面上的浮动,但是通过这个试验,我们发现,这不仅仅是一个平面上的浮动,而是一个立体的浮动!

  也就是说,当nei这个div加上浮动这个属性的时候,在显示器的侧面,它已经脱离了wai这个div,也就是说,此时的nei的宽高是多少,对于已经脱离了的wai来说,都是不起作用的。打个形象的比喻就是当JJ脱离BB的时候,JJ的大小对于BB是没有撑开的作用的(有点少儿不宜的感觉-_-|||)

  OK,当我们全面的理解了浮动这个词的含义的时候,我们就理解overflow:hidden这个属性中的解释,清除浮动是什么意思了。也就是说,当我们给wai这个div加上overflow:hidden这个属性的时候,其中的nei等等带浮动属性的div的在这个立体的浮动已经被清除了,就好比JJ又进入了BB内,JJ的大小自然又会影响到BB的大小。

  这就是overflow:hidden这个属性清除浮动的准确含义。

  当我们没有给wai这个div设置高度的时候,nei这个div的高度,就会撑开wai这个div,而在另一个方面,我们要注意到的是,当我们给wai这个div加上一个高度值,那么无论nei这个div的高度是多少,wai这个高度都是我们设定的值。而当nei的高度超过wai的高度的时候,超出的部分就会被隐藏。这就是隐藏溢出的含义!

  我相信,通过我的这些文字,大家对overflow:hidden这个属性有了全新的认识。希望大家和我一样,在div+css学习中能够不断的进步!

  (PS:本人是div+css的初学者,请高手不要嘲笑。困惑这个属性已经很久,网上的资料大多不怎么理想,因此才写这些文字献丑。本文为地方网络工作室原创。转载请保留本工作室链接,文章首发:http://www.difangla.com/Html/jishu/css/88140.html)

时间: 2024-09-20 11:47:13

全面阐述overflow:hidden属性的相关文章

css ie6、ie7、ie8中overflow:hidden无效解决办法

产生原因: 当父元素的直接子元素或者下级子元素的样式拥有position:relative属性时,父元素的overflow:hidden属性就会失效. 解决办法: 我们在IE 6内发现子元素会超出父元素设定的高度,即使父元素设置了overflow:hidden. 解决这个bug很简单,在父元素中使用position:relative;即可解决该bug ie7和ie6 发现在ie6和ie7里面overflow:hidden无效,还是会超出外层div 后来在外层div上面加上position:rel

overflow:hidden的详细解释

  overflow:hidden这个CSS样式是大家常用到的CSS样式,但是大多数人对这个样式的理解仅仅局限于隐藏溢出,而对于清除浮动这个含义不是很了解.一提到清除浮动,我们就会想到另外一个CSS样式:clear:both,我相信对于这个属性的理解大家都不成问题的.但是对于"浮动"这个词到底包含什么样的含义呢?我们下面来详细的阐述一下. 这是一个常用的div写法,下面我们来书写样式.大家可以在DMX中自己做试验 #box{ width:500px; background:#000;

HTML5的hidden属性

我们已经知道了很多HTML5新增的属性,比如placeholder.download.autofocus等,还有个新的可能会常用的属性hidden,也是蛮好用的,这里简单介绍下~~ 用法很简单: 1 2 3 <div hidden> You can't see me! </div> 这个属性的表现类似css的display:none,用了这个属性后,元素会被隐藏,块级元素也会折叠起来不再占位,和visible:hidden不一样.所以,对于不支持HTML5的浏览器来说,也可以做下简

css中的overflow:hidden; zoom:1

如果子元素大小超过父元素的大小,那么:     overflow:hidden会隐藏掉超出的部分     overflow:auto会显示滚动条     overflow:hidden;和overflow:auto;都可以解决非IE浏览器下清除浮动的问题     zoom:1;是给ie6看的  

li不显示使用overflow:hidden导致Li前面点、圈等样式不见

  点评:用了overflow:hidden 会影响 list-style,即当ul 中的li 的overflow 为hidden的时候,list-style不起作用,不显示前面的点.圈等样式,在ul或li内加入样式:list-style-position: inside; 即可 实际上用了overflow:hidden 会影响 list-style,即当ul 中的li 的overflow 为hidden的时候, list-style不起作用,不显示前面的点.圈等样式. 解决办法:在ul或li内

form-JAVA点击按钮 将Form窗体的hidden属性的true值改为false?

问题描述 JAVA点击按钮 将Form窗体的hidden属性的true值改为false? < button type="button">管理员登陆</button> 点击管理员登陆这个按钮,将下面的Form窗体的hidden属性值如何变为false <form action="${ctx}/login.action" id="loginForm" method="post" hidden=&quo

border-radius 应用了 transform 的子元素 overflow:hidden 失败如何解决

在一个应用了 border-radius 的圆角元素上,加上 overflow:hidden.子元素铺满.对于子元素超出圆角的部分可以被隐藏掉.形成一个圆角头像容器的结构.代码如下: HTML <div id="wrapper">     <div id="box"></div> </div> CSS #wrapper {     position: absolute;     width: 200px;     he

html-如下一段简单的HTML-CSS代码,为何加了overflow就能实现目的?

问题描述 如下一段简单的HTML-CSS代码,为何加了overflow就能实现目的? 目的:HTML中两块div,右侧固定宽度200px,左边的填满剩下的宽度 要求:左侧的div宽度是随可视区宽度变化而变化的,不能用calc()和CSS预处理语言 HTML: <div class="right"></div> <div class="left"></div> CSS: .left { overflow: hidden;

margin-top失效的解决方法

异常处理汇总-前端系列 http://www.cnblogs.com/dunitian/p/4523015.html 我的是属于这种情况 按照网上的说法,我就是这个现象了 两个层box1和box2,box1具有浮动属性,box2没有,这时候设置box2的上边距margin-top没有效果.   这是网上的解决方法(并不适用我的情况)http://developer.51cto.com/art/201008/222728.htm 本文向大家描述一下margin-top失效的解决方法,margin-