css清除浮动方法总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了css清除浮动方法总结相关的知识,希望对你有一定的参考价值。

一、伪元素清除浮动

1 .clearfix:after{
2     content: "";
3     display: table;
4     clear: both;
5 }

为什么选择display:table

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

1. float的值不为none(脱离文档流)
2. overflow的值不为visible。
3. display的值为table-cell, table-caption, inline-block中的任何一个。
4. position的值不为relative和static(脱离文档流)

应用了.clearfix和.menu的菜单极有可能是多级的,所以overflow: hidden或overflow: auto也不满足需求(会把下拉的菜单隐藏掉或者出滚动条)

display: inline-block会产生多余空白,所以也排除掉

剩下的table-cell, table-caption,为了保证兼容可以用display: table来使.clearfix形成一个Block Formatting Context

display: table会产生一些匿名盒子,这些匿名盒子的其中一个(display值为table-cell)会形成Block Formatting Context

这样我们新的.clearfix就会闭合内部元素的浮动

二、空标签清除浮动

 

三、父元素设置高度,避免坍塌

 

四、父元素设置overflow:hidden;

设置overflow:hidden,构成了BFC

同理,父元素脱离文档流也会清除浮动

 

以上是关于css清除浮动方法总结的主要内容,如果未能解决你的问题,请参考以下文章

css清除浮动方法总结

css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?一起来$('.float')

css中清除浮动的几种方法(自己总结)

清除浮动方法总结

css清除浮动总结及table下的tr border设置

css的浮动以及如何清除浮动