用overflow:hidden清楚浮动的时候,为什么要加宽度?
用overflow:hidden清楚浮动的时候,为什么要加宽度?
如果是用于清除浮动对于父级的影响的时候,我试了一下,对父级加overflow:hidden就好了,不加宽度也是可以实现效果的,为什么?
用overflow:hidden清楚浮动的时候,为什么要加宽度?
如果是用于清除浮动对于父级的影响的时候,我试了一下,对父级加overflow:hidden就好了,不加宽度也是可以实现效果的,为什么?
2016-06-19
你不加宽度的话,其他地方也没设置宽度的话,那么它的宽度就是auto也就是100%。
我猜你指的是mainbody,这里mainbody它还有一个父级wrap呢,mainbody的宽度继承了wrap的宽度。
当然你把wrap的宽度也去掉的话,整个的宽度就是屏幕(网页视图)宽度了。
所以为什么要加宽度呢?
你让mainbody维持原样不动,不给它清除浮动,left和right都设置float: left ,然后给footer清除浮动,首先是
#footer { background:#639; width:100%; clear: both; }
你会看到蓝色背景的wrap,当然黄色的mainbody受到浮动影响这里不显示了
现在!我们把footer的宽度去掉,clear也去掉,只要overflow:
#footer { background:#639; overflow:hidden; }
好的,你会发现footer没有另起一行。
因为footer这时候没有了我们设置的宽度属性,它的宽度现在是auto的,这时候你设置隐藏溢出,浏览器可以计算它的高度,不会触发溢出检查,因为它的宽度是auto呀,挤进去并不会溢出。
那设置成10%的宽度呢?还是挤得下,还是没有触发溢出。所以,这时候你需要一个100%的宽度。
举报