个人笔记——清除浮动的几种方法

构成Block Formatting Context的元素可以清除内部元素的浮动,那么Block Formatting Context是什么呢?(下次补充)

构成Block Formatting Context的方法有下面几种:

float的值不为none。overflow的值不为visible。display的值为table-cell, table-caption, inline-block中的任何一个。position的值不为relative和static。下面罗列出了这些方法的用法和弊端。

1、clearfix(重构版)

给需清除内部元素浮动的元素添加一个clearfix类,类的设置如下:

.clearfix {
 zoom: 1; /*在IE6, 7下zoom: 1会触发hasLayout,从而使元素闭合内部的浮动。*/
 display: table;/*也可以设置成table-cell, table-caption,为了保证兼容可以用table*/
}

2、overflow:hidden

给需清除内部元素浮动的元素设置overflow:hidden;属性

弊端:会把下拉的菜单隐藏掉

 

3、overflow: auto

给需清除内部元素浮动的元素设置overflow:auto;属性

弊端:出滚动条

 

4、float

让需清除内部元素浮动的元素也浮动起来,使其也脱离标准流。

弊端:可能影响兄弟元素的布局,使页面布局混乱

 

5、position:absoluteh/fixed

让需清除内部元素浮动的元素设置成position:absolute;或者position:fixed;,使其也脱离标准流。

弊端:可能影响兄弟元素的布局,使页面布局混乱

 

6、display: inline-block

让需清除内部元素浮动的元素设置成display: inline-block;

弊端:会产生多余空白

 

本笔记参考:http://www.imooc.com/wenda/detail/11604

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值