首页 >web前端 >html教程 >为什么说overflow: hidden;能清除浮动呢_html/css_WEB-ITnose

为什么说overflow: hidden;能清除浮动呢_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 12:02:451279浏览

一般清除浮动用clear:both  但发现很多人用overflow: hidden来清除浮动,它的原意是隐藏多余的东西,为什么它能清除浮动呢


回复讨论(解决方案)

是因为overflow除了(visible)会重新给他里面的元素建立块级格式化(block formatting context)floats, position absolute, inline-block, table-cell和table-caption都不是块级样式,所以才会用到clear来控制浮动overflow也可以清除浮动是因为当在父级元素设置overflow时候,除了visible,就是只有auto, hidden或者scroll时候,也会建立新的块级格式给他的子元素, 从而起到清楚浮动效果具体信息可以在这里看虽然clear是旧的方式,但还是推荐用clear来做,有些情况会比overflow处理的要好

overflow:hidden属性相当于是让父级紧贴内容,这样即可紧贴其对象内内容(包括使用float的div盒子),从而实现了清除浮动。而clear:both则是采用的是在子级清除浮动。你看看使用的位置就清楚了。

<div style="overflow:hidden">   <div style="float:left"></div></div>


<div >   <div style="float:left"></div>  <div style="style="clear:both""></div></div>

是因为overflow除了(visible)会重新给他里面的元素建立块级格式化(block formatting context)floats, position absolute, inline-block, table-cell和table-caption都不是块级样式,所以才会用到clear来控制浮动overflow也可以清除浮动是因为当在父级元素设置overflow时候,除了visible,就是只有auto, hidden或者scroll时候,也会建立新的块级格式给他的子元素, 从而起到清楚浮动效果具体信息可以在这里看虽然clear是旧的方式,但还是推荐用clear来做,有些情况会比overflow处理的要好


我真想操你全家!

overflow:hidden属性相当于是让父级紧贴内容,这样即可紧贴其对象内内容(包括使用float的div盒子),从而实现了清除浮动。而clear:both则是采用的是在子级清除浮动。你看看使用的位置就清楚了。

<div style="overflow:hidden">   <div style="float:left"></div></div>


<div >   <div style="float:left"></div>  <div style="style="clear:both""></div></div>


不明白啊,如果仍然没清除浮动的话,难道那父级就不算紧贴内容了吗?
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn