多种方式清除浮动,他们之间有什么不同

我们在写页面时经常会出现一些小问题,需要我们清除浮动,那么如何清除浮动呢,都有哪些方式呢?接下来和大家讨论一下。

clearfix清除浮动分为两种:

清除自身浮动

清除父级浮动

一、为什么要清除浮动

一个块级元素的高度如果没有设置height,那么其高度就是由里面的子元素来撑开的,如果子元素使用浮动,脱离了标准的文档流,那么父元素的高度会将其忽略,你可以使用firebug查看下如果不清除浮动,父元素会出现高度不够,那样如果设置border或者background都得不到正确的解析。

简洁清除浮动

clearfix1:before,.clearfix1:after{    content: "";    display: table; }
.clearfix1:after{    clear: both;    overflow: hidden; }
.clearfix1{    zoom: 1; }

经典清除浮动:

.clearfix2:after {    visibility: hidden;    display: block;    font-size: 0;    content: " ";   
 clear: both;    height: 0; } * html 
 .clearfix2     { zoom: 1; } /* IE6 */*:first-child+html .clearfix2 { zoom: 1; } /* IE7 */

overflow清除浮动:

/* overflow:auto */#demo3{    overflow:auto;*zoom:1; }/*或 overflow:hidden */#demo4{    overflow:hidden;*zoom:1; }

inline-block方式

#demo5{    display:inline-block;*display:inline;*zoom:1; }

这个方法和上面的其它方法会有点差异,主要是inline-block造成的。

以上就是多种方式清除浮动,他们之间有什么不同的详细内容,更多请关注其它相关文章!