万能浮动清除方法

 

很多CSS初学者往往很容易被浮动搞得晕头转向,经常碰到有朋友问“为什么我把ul里面的li都向左浮动了,然后我的ul就没有背景了?”等等之类的问题。

此时,如果我们呢给ul加上1px的border的话,就会发现我们的ul从原来的一块变成了一条线,这就是长说的浮动带来的问题。其实解决这个问题,只需要短短的几个属性而已。

我个人的理解是浏览器在解析到浮动的时候,会将浮动的元素脱离开原来的父元素像上层浮起,就像小河里的木板是浮在水面上和河底是不接触的。那么这个时候父元素相当于已经被拿空了,那么当然只会是我们看到的一条线的情况了。所以,对于初学者而言,必须时刻记住需要把浮起的木板再压下去,也就是清除浮动。

这里介绍一个万能的浮动清楚方法:

<style> 

ul{overflow:hidden;width:100%} 
li{float:left;display:inline-block} 
</style> 

<ul> 
<li></li> 
<li></li> 
</ul>

只需要给浮动元素的父元素加上overflow:hidden属性就可以很有效的将浮动清楚,阻止元素脱离父元素。但是同时引发了一个新的问题,就是当overflow:hidden会将超出父元素宽度范围的内容隐藏,也就是说我们就可能不能实现竖直的二级导航类的功能了。

此时,另一个万能方法就此诞生

<style> 
.box{width:100%} 
.float{float:left;display:inline-block}
 .clear{clear:both;float:none} 
</style> 

<div class="box"> 
<div class="float"><\/div>
<div class="float"><\/div>
<div class="clear"><\/div>
 

 <\/div>

 

在父元素的最后添加一个CSS为clear:both;float:none的元素,他可以在在父元素不能overflow:hidden的情况下为您完美解决浮动产生的所有困扰。

总结一下,清楚浮动的方法也就是三个overflow:hidden,clear:both以及float:none

转载于:https://www.cnblogs.com/mainet/archive/2012/04/05/2432936.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值