文字有点多,但认真看完并做测试后对该属性会有更进一步的理解:
overflow:hidden是大家常用到的CSS样式,但是大多数人对这个样式的理解仅仅局限于隐藏溢出,而对于清除浮动这个含义不是很了解。
一提到清除浮动,我们就会想到另外一个CSS样式:clear:both,我相信对于这个属性的理解大家都不成问题的。但是对于“浮动”这个词到底包含什么样的含义呢?
我们下面来详细的阐述一下。<div id="wai"><div id="nei"></div></div>这是一个常用的div写法,下面我们来书写样式。大家可以在DMX中自己做试验:
#wai{ width:500px; background:#000; height:100px;}
#nei { float:left; width:500px; 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来说,都是不起作用的。
OK,当我们全面的理解了浮动这个词的含义的时候,我们就理解overflow:hidden这个属性中的解释,清除浮动是什么意思了。也就是说,当我们给wai这个div加上overflow:hidden这个属性的时候,其中的nei等等带浮动属性的div的在这个立体的浮动已经被清除了。这就是overflow:hidden这个属性清除浮动的准确含义。
当我们没有给wai这个div设置高度的时候,nei这个div的高度,就会撑开wai这个div,而在另一个方面,我们要注意到的是,当我们给wai这个div加上一个高度值,那么无论nei这个div的高度是多少,wai这个高度都是我们设定的值。而当nei的高度超过wai的高度的时候,超出的部分就会被隐藏。这就是隐藏溢出的含义!
分享到:
相关推荐
css中overflow:hidden CSS样式可以隐藏溢出的部分 好处就是可以防止网页变形
因为绝对定位的子元素会从内向外寻找有定位的父元素,找不到的话overflow:hidden;也会随之失效。 一探究竟 重要的事再说一遍,正如上述所言,overflow:hidden;失效的原因是:父元素想要隐藏溢出的绝对定位的子元素,...
overflow:hidden失效 当父元素的直接子元素或者下级子元素的样式拥有position:relative属性时,父元素的overflow:hidden属性就会失效。 我们在IE 6内发现子元素会超出父元素设定的高度,即使父元素设置了overflow:...
实际上用了overflow:hidden 会影响 list-style,即当ul 中的li 的overflow 为hidden的时候, list-style不起作用,不显示前面的点、圈等样式。 解决办法:在ul或li内加入样式:list-style-position: inside; 即可。...
原来这样设置,IE6、IE7、FF都是可以实现的,但IE8不可以,原因是IE把overflow:hidden禁止了。如果实现同样的效果,要添加样式display:inline-block;height:30px;/*高度是想要设置的高度*/这样就可以实现了。
css - flex + overflow:hidden
1.Overflow overflow为溢出(容器),当内容超出容器时只需添加overflow属性值为hidden, 就可以把超出容器的部分隐藏起来; 如果内容超出容器却又不想...添加overflow:hidden;属性,效果: 可以看到,overflow:hi
overflow: hidden; 如何隐藏上面部分的实现方式 纯html代码,举例说明思路 <div style="width: 100px;height:100px;overflow:auto"> <div>1 <div>2 <div>3 <div>4 <div>5 <div>6 </div>
在父标签中使用了overflow:hidden;时,如果子标签中有元素的position设置成relative的时候,在IE6和IE7中父元素的overflow对其将不起作用,其实将父标签的position也设置成relative便可解决此问题
overflow:hidden是overflow属性的一个神奇用法,它可以帮助我们隐藏溢出的元素,清除浮动和解除坍塌。当某一个属性拥有这么多的功能时,难免使人难以把握,不过不要怕,只要信:看完这篇文章,我相信你绝对能对...
禁用页面滚动条的方法有很多,但最简单、最快的也就数overflow: hidden了,下面是禁用html及body滚动条的方法,兼容IE6、7
1.overflow:hidden的作用是隐藏溢出比如: 复制代码代码如下: <div xss=removed id=1><div id=2></div><div> 当ID=2的这个DIV高度设定的宽度超过了300px,那么超出的部分将自动被隐藏 2.line-height指的是在DIV中...
大家对CSS属性中overflow:hidden并不陌生,至于它的应用,在下文中列出我在项目中,运用到此属性的例子,感兴趣的朋友可以参考下哈,希望对大家有所帮助
项目中常常有同学遇到这样的问题,现象是给元素设置了overflow:hidden,但超出容器的部分并没有被隐藏,难道是设置的hidden失效了吗?
NULL 博文链接:https://snowelf.iteye.com/blog/1265006
因为Zoom属性是IE浏览器的专有属性,所以他清除浮动作用只适用于IE浏览器,而Firefox、google等浏览器则需要使用overflow:auto属性来清除浮动。所以要达到兼容IE6、IE7、IE8、Firefox、google浏览器的时候就必需使用...
css设置如下,overflow:hidden没有起作用。 复制代码代码如下: .my-select { max-width: 200px; overflow: hidden; word-break: break-all; text-overflow: ellipsis; } 在添加了“float:left,适当调整width后,...
令人蛋疼的IE,IE6/IE7下父元素有相对/绝对定位时,子元素在IE6和IE7下overflow:hidden;失效。 情况一:(在parent上增加position:relative) 复制代码代码如下: <style type=”text/css”> .parent{ width:...