清除浮动常用方法
1. 定高法
给父元素一个高度
2. 额外标签法
利用属性 clear:both 这个属性只能给块元素
在浮动元素的父元素后面添加
<div style="clear: both"></div>
缺点:空余标签太多
3. overflow:hidden
BFC规则
哪些元素可以触发:
1. 根元素或其它包含它的元素
2. position是absolute 或 fixed
3. 浮动元素 (元素的 float 不是 none)
4. display: inline-block
5. overflow 且值不是 visible 的块元素 auto hidden scroll
缺点:
如果父元素中有元素超出父元素的边界,那么多余的部分会被裁切掉
4. 利用伪元素
伪元素是行内元素
clearfix
.clearfix:after{
content:".";
display:block;/*将伪元素转化成块元素*/
clear:both:/*不允许两端有浮动*/
height:0;
visibility:hidden/*占位隐藏*/
}
.clearfix{ zoom: 1;/*只有IE认识*/}