清除浮动

“清除浮动”这个说法容易让人产生误解,我认为这个说法的本意应该是“清除浮动带来的负面效果”,这个负面效果即“子元素的浮动会脱离标准文档流,从而造成父元素的高度塌陷”。

解决这个问题有如下几个目前流行的做法。

一、浮动的子元素后加一个空的div,并加上clear:both属性;

二、BFC方法

      (1)父元素加上overflow:hidden,该方法会带来IE6的兼容性问题,并且也限制了父元素的本身的overflow语义;

      (2)针对IE6,父元素加上zoom:1属性;

三、父元素加上after伪元素,IE6和7不兼容:

1 .parent:after{
2     content:"";
3     display:table; /* 或者block */
4     clear:both;
5 }

总结:推荐使用第三种方法,如果要考虑IE的6和7问题,就使用第二种方法。


进阶用法 
我们最常用的就是用来清除浮动和制作三角之类的特殊元素了。 
现在大家常用的清除浮动的方法:

.clearfix {*zoom: 1;}
.clearfix:before,.clearfix:after {display: table;line-height: 0;content: "";}
.clearfix:after {clear: both;}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值