1、给浮动元素的父级设置高度height(不推荐使用)
缺点:很多情况下 高度都是不确定的 所以不适用
2、以浮制浮,给浮动元素的父元素设置浮动,原理是开启BFC(不推荐使用)
缺点:只有在父级需要浮动的时候,可以这么清除,否则父级的浮动会影响布局
3、`overflow:hidden;`给父级设置,原理也是开启BFC(可以使用)
优点:简单快捷
缺点:元素超出的时候,会隐藏超出部分
4、clear清浮动法:给浮动元素的下边添加一个块元素,书写样式clear:both
缺点:增加额外的结构,不符合语义化标准
5、after伪元素清浮动(推荐)
可以给所有浮动元素的父级一个 clearFix的类名
当一个元素需要清除浮动的时候 直接设置clearFix类名即可
`
.clearFix:after{
content:""; 必须拥有content属性 内容为空
display: block; 必须块标签才能清浮动
height: 0; 高度为0 不占用空间
clear: both; 清除浮动
}
`
.clearFix{
//兼容ie *zoom:1; //*是css hack 只有ie6.7 认识
//ie6、7 不支持伪元素,所以需要开启元素的haslayout来清除浮动
}