码神之路:CSS/CSS3篇IT杂谈

完美clearfix

2017-11-21  本文已影响8人  ForsonLim

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造成的。查看demo

上一篇 下一篇

猜你喜欢

热点阅读