您的当前位置:首页正文

css清除浮动常用的两种方法

来源:一二三四网


什么是清除浮动:

在非IE浏览器(如Firefox)下,当容器的高度为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象。这个现象叫浮动溢出,为了防止这个现象的出现而进行的CSS处理,就叫CSS清除浮动。

常用清除浮动常用的方法如下:

(1) 给浮动元素父级设置height

我们知道了高度塌陷是应为给浮动元素的父级高度是自适应导致的,那么我们给它的设置适当的高度就可以解决这个问题了。

优点:简单,代码少,容易掌握

缺点:只适合高度固定的布局,要给出精确的高度,如果高度和父级div不一样时,会产生问题

建议:不推荐使用,只建议高度固定的布局时使用

(2) 万能清除法 after伪类 清浮动,IE8以上和非IE浏览器才完全支持:after,IE6、IE7需要用ie的私有属性zoom来触发hasLayout才能完美兼容,没有增加多余的标签,推荐使用。

.clear:after{

content:\".\";

clear:both;

display:block;

height:0;

overflow:hidden;

visibility:hidden;

}

.clear{zoom:1;}

优点:浏览器支持好,不容易出现怪问题(目前:大型网站都有使用,如:腾迅,网易,新浪等等)

缺点:代码多,不少初学者不理解原理,要两句代码结合使用,才能让主流浏览器都支持

建议:推荐使用,建议定义公共类,以减少CSS代码

因篇幅问题不能全部显示,请点此查看更多更全内容

Top