方法一、在结尾处添加空div标签clear:both
在浮动的盒子之下再放一个标签,在这个标签中使用clear:both,来清除浮动对页面的影响.
注意:一般情况下不会使用这一种方式来清除浮动。因为这种清除浮动的方式会增加页面的标签,造成结构的混乱.
<div class="box">
<div class="red">1</div>
<div class="sienna">2</div>
<div class="blue">3</div>
<div class="clear"></div>
</div>
方法二、父级div定义 overflow: auto
原理:使用overflow属性来清除浮动有一点需要注意,overflow属性共有三个属性值:hidden,auto,visible。我们可以使用hiddent和auto值来清除浮动,但切记不能使用visible值
<div class="box over-flow">
<div class="red">1</div>
<div class="sienna">2</div>
<div class="blue">3</div>
</div>
方法三、使用伪元素来清除浮动(:after,注意:作用于浮动元素的父亲)
(注:主要推荐该方法)
.clearfix:after{
content:"";/*设置内容为空*/
clear:both;/*清除浮动*/
display:block;/*将文本转为块级元素*/
height:0;/*高度为0*/
visibility:hidden;/*将元素隐藏*/
}
.clearfix{
zoom:1;/*为了兼容IE*/
}
end~~~
如有更好方法,欢迎大家留言讨论,谢谢