为什么要清除浮动,有哪些方式

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

清除浮动的方式:

1)在浮动元素下加子元素<div class="clear"></div>然后设置样式.clear{ height:0px;font-size:0;clear:both;}

2)在浮动元素下面(与浮动元素同级)加<br clear="all"/>

3)给浮动元素的父级也加浮动(这种情况当父级margin:0 auto时不居中)

4)给父级加display:inline-block;(同方法3,不居中,只有IE6,7居中)

5)给浮动元素父级加overflow:auto;

6)经典用法

 .clear,.clear-all{clear:both;font-size:0;height:0;line-height:0;overflow:hidden}

.fix:after,.clearfix:after{clear:both;content:" ";display:block;font-size:0;height:0;visibility:hidden}

.fix,.clearfix{*zoom:1}

原文地址:https://www.cnblogs.com/luckyXcc/p/5770965.html