清除浮动

如果使用div(或其他容器)包裹一个浮动的元素,经常会遇到一些无法包裹内部元素的问题。

这时就需要清除浮动:必须给容器(如div)定义明确的 heightwidthoverflow 之中一个属性(除了auto值)才能将浮动元素严实地包裹。

最常见的有四种方法:

clearfix清除法 推荐方法

/*简洁版*/
.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 */

overflow清除法

.test2{
    overflow:hidden;*zoom:1;
}

空标签清除法

小提醒:float元素设定 margin-bottom 时在 IE6/IE7 下会失效,目前发现只有空标签清除法+固定宽度才能有效解决,且不能是li结构

.clear{
    display:block !important;
    clear:both !important; /* 空标签清除浮动核心代码 */
}

inline-block方法

注意:这个demo和上面几个是有所不同的哦,细心的你早就发现了,前面的比这个宽度要大啊。

.test4{
    display:inline-block;*display:inline;*zoom:1;
}

问题及注意事项: