您的位置:首页 > 其它

常用的清除浮动方式

2017-05-18 23:40 141 查看
1.添加一个新元素,添加一个div块,设置clear:both;同时不让它显示

.clear {
clear: both;
font-size: 0;
height: 0;
line-height: 0;
}


2.给父元素添加overflow: hidden;当父层没有设置浮动,而子层设置了浮动时,父层很大可能受到浮动的影响缩成一条,这时使用clear: both;清除浮动是没有效果的,应该使用overflow: hidden;

.over-flow {
overflow: hidden;
zoom: 1;  // 处理兼容问题
}


3.最常用的一种方式,在浮动元素的父元素添加:after伪类。这种方法清除浮动是现在网上最拉风的一种清除浮动,它是利用:after和:before来在元素内部插入两个元素块,从面达到清除浮动的效果。其实现原理类似于clear:both方法,只是区别在于:clear在html中插入一个div.clear标签,而此方法利用其父元素伪类clear:after在元素内部增加一个类似于div.clear的效果。

.outer {zoom:1;}    /*==for IE6/7 ==*/
.outer :after {
clear:both;  // 清除所有浮动
content:'.';
display:block;
width: 0;
height: 0;
visibility:hidden;  // 允许浏览器渲染它,但是不显示出来
}   /*==for FF/chrome/opera/IE8==*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: