本文主要介绍清除浮动的4种风方法及利弊code
若是一个父级块元素中的子元素浮动,那么全部浮动的子元素都脱离了文档流,若是父元素没法肯定高度,则其下面的兄弟元素会自动补位,形成视图结构混乱,因此这个时候要进行清除浮动。文档
方式一:使用overflow属性来清除浮动it
.parent{ overflow:hidden; }
先找到浮动盒子的父元素,再在父元素中添加一个属性:overflow:hidden,就是清除这个父元素中的子元素浮动对页面的影响.方法
注意:通常状况下也不会使用这种方式,由于overflow:hidden有一个特色,离开了这个元素所在的区域之后会被隐藏(overflow:hidden会将超出的部分隐藏起来).总结
方式二:使用额外标签法伪元素
.clear{ clear:both; }
在浮动的盒子之下再放一个标签,在这个标签中使用clear:both,来清除浮动对页面的影响.兼容
a.内部标签:会将这个浮动盒子的父盒子高度从新撑开.di
b.外部标签:会将这个浮动盒子的影响清除,可是不会撑开父盒子.清除浮动
注意:通常状况下不会使用这一种方式来清除浮动。由于这种清除浮动的方式会增长页面的标签,形成结构的混乱.vi
方法三:使用伪元素来清除浮动(after意思:后来,之后)
.clearfix:after{ centent:"";//设置内容为空 height:0;//高度为0 line-height:0;//行高为0 display:block;//将文本转为块级元素 visibility:hidden;//将元素隐藏 clear:both//清除浮动 } .clearfix{ zoom:1;为了兼容IE }
方法四:使用双伪元素清除浮动
.clearfix:before,.clearfix:after {
content: ""; display: block; clear: both;
}
.clearfix {
zoom: 1;
}
第一种方法会将超出部分隐藏在某些时候咱们想清除浮动而且保留超出部分时作不到第二种方法会增长许多没必要要的标签推荐使用第三种方法来清除浮动第四种是第三种的改良版,虽然比较简便,可是不严谨!