【前端】CSS清除浮动

一 什么是浮动

一般是一个盒子里使用了CSS float浮动属性,导致父级对象盒子不能被撑开,这样CSS float浮动就产生了。
简单地说,浮动是因为使用了float:left或float:right或两者都是有了而产生的浮动。

二 浮动的负面作用

  • 父级不能被撑开,背景不能显示
  • 父级边框不能被浮动的子集撑开
  • margin padding设置值不能正确显示

三 清除浮动的办法

1.给父类一个能包括子类的高度height

这种方式需要算高度

.divcss5{ width:400px;border:1px solid #F00;background:#FF0; height:102px}  //这里高度算好102px
.divcss5-left,.divcss5-right{width:180px;height:100px; 
border:1px solid #00F;background:#FFF} 
.divcss5-left{ float:left} 
.divcss5-right{ float:right} 

2.clear:both清除浮动

这种方式需要加标签和样式
首先需要一个样式选择器

.divcss5{ width:400px;border:1px solid #F00;background:#FF0} 
.divcss5-left,.divcss5-right{width:180px;height:100px; 
border:1px solid #00F;background:#FFF} 
.divcss5-left{ float:left} 
.divcss5-right{ float:right} 
.clear{ clear:both}   //对应的样式选择器

然后在html里面父类的子类里面加上对应标签:

<div class="divcss5"> 
    <div class="divcss5-left">left浮动</div> 
    <div class="divcss5-right">right浮动</div> 
    <div class="clear"></div> 
</div> 

3(推荐).父级div定义 overflow:hidden

.divcss5{ width:400px;border:1px solid #F00;background:#FF0; overflow:hidden} 
.divcss5-left,.divcss5-right{width:180px;height:100px;
border:1px solid #00F;background:#FFF} 
.divcss5-left{ float:left} 
.divcss5-right{ float:right} 

为什么加入overflow:hidden即可清除浮动呢?那是因为overflow:hidden属性相当于是让父级紧贴内容,这样即可紧贴其对象内内容(包括使用float的div盒子),从而实现了清除浮动。Css overflow:hidden清除浮动方法DIVCSS5推荐使用。

猜你喜欢

转载自blog.csdn.net/cheidou123/article/details/93255271
今日推荐