如果使用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;
}