135-css-14-布局~float清除浮动

135-css-14-布局~float清除浮动

方式

1、clear

2、bfc (overflow:hidden;)

伪类

.clearfix:after {
    content: '';
    display: table;
    clear: both;
}
.clearfix {
    *zoom: 1; /* 兼容IE低版本 */
}
.clearfix:before,
.clearfix:after {
    display: table;
    content: " ";
}
.clearfix:after {
    clear: both;
}
.clearfix{
    *zoom: 1;
}

兼容

*zoom:1;*放在css属性前面,表示这个属性仅仅应用到Internet Explorer 7 以及以下版本。因为Internet Explorer 版本 7 以及以下承认非字母数字(除了下划线)前缀的属性。

原理

在要清除浮动的元素后面加一个空的块级元素,并给这个元素清除浮动clear:both;
clear 属性用于清除浮动元素带来的影响,本质上是不与浮动元素在同一行
该属性只能影响使用清除的元素本身,不能影响其他元素。

适用于浮动和非浮动元素。
::after用来创建一个伪元素,作为已选中元素的最后一个子元素。
clearfix类加在浮动元素父元素上,相当于在浮动元素最后加了一个新元素

设置display:block,display:table是需要设置一个块元素,独占一行,撑起父元素高度

参考

https://developer.mozilla.org/zh-CN/docs/Web/CSS/clear