清除浮动的几种方法
程序员文章站
2022-07-14 22:29:59
...
清除浮动主要是为了解决,父元素因为子级元素浮动引起的内部高度塌陷的问题
1.额外标签法:使用clear:both清除浮动
在浮动元素后面使用一个空的自身清除浮动的元素,即在最后一个浮动标签后,新加一个标签,给其设置clear:both
;
<!--清除浮动样式-->
<div style="clear: both"></div>
其优点是简单,方便兼容性好,但是一般情况下不建议使用该方法,因为会造成结构混乱,不利于后期维护.(不推荐)
2.父级添加overflow属性
父元素添加overflow:hidden, 通过触发BFC方式,使得达到撑起父元素高度的效果.实现清除浮动,其中设置zoom:1;为兼容IE6/7,触发hasLayout属性
。其代码简洁,但超出盒子部分会被隐藏(不推荐)
.fahter{
width: 960px;
/*增加清除浮动的代码*/
overflow:hidden;
zoom:1;
}
3.利用伪元素clearfix来清除浮动
给父级元素添加了一个:after伪元素,通过清除伪元素的浮动,达到撑起父元素高度的目的。借助:after微元素设置样式,不需要在HTML代码上额外增加元素。(推荐)
.clearfix:after{/*伪元素是行内元素 正常浏览器清除浮动方法*/
content: "";
display: block;
height: 0;
clear:both;
visibility: hidden;
}
.clearfix{
*zoom: 1;/*ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行*/
}
4.双伪元素方法的使用
通过给父元素设置双伪元素来达到清除浮动的效果(推荐)
.clearfix:after,.clearfix:before{
content: "";
display: table;
}
.clearfix:after{
clear: both;
}
.clearfix{
*zoom: 1;
}
清除浮动方法(5)设置容器元素高度height,只适合高度固定的布局。
清除浮动方法(6)容器元素也设置浮动。不推荐,会产生新的浮动问题。
上一篇: 17. 信号量,共享内存和消息队列
下一篇: 左侧内容随右侧内容高度自适应高度