如果使用div(或其他容器)包裹一个浮动的元素,经常会遇到一些无法包裹内部元素的问题。
这时就需要清除浮动:必须给容器(如div)定义明确的 height
、width
、overflow
之中一个属性(除了auto值)才能将浮动元素严实地包裹。
最常见的有四种方法:
class="clearfix"
即可。<div class="clear"></div>
来实现。inline-block
属性。/*简洁版*/ .clearfix:before, .clearfix:after { content:""; display:table; } .clearfix:after{ clear:both; overflow:hidden; } .clearfix{ zoom:1; } /* 经典版 */ .clearfix:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; } * html .clearfix { zoom: 1; } /* IE6 */ *:first-child+html .clearfix { zoom: 1; } /* IE7 */
.test2{ overflow:hidden;*zoom:1; }
小提醒:float元素设定 margin-bottom
时在 IE6/IE7 下会失效,目前发现只有空标签清除法+固定宽度才能有效解决,且不能是li结构
.clear{ display:block !important; clear:both !important; /* 空标签清除浮动核心代码 */ }
注意:这个demo和上面几个是有所不同的哦,细心的你早就发现了,前面的比这个宽度要大啊。
.test4{ display:inline-block;*display:inline;*zoom:1; }