手记

完美clearfix

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



作者:林福山053
链接:https://www.jianshu.com/p/078ab52ac2e8


0人推荐
随时随地看视频
慕课网APP