为一个元素设置浮动后,会使元素脱离普通流,不占据位置。
遇到其他的浮动元素或父元素的边框会停止浮动,可以使块级元素一行显示。
浮动的元素不会遮挡文本(脱离普通流,单不脱离文本),可以设置文字环绕效果。
使用浮动后,模式会转换,都会转换为行内块元素
设置浮动:
float: left;左浮动
right;右浮动
使用浮动时会造成一些不好的效果,所以我们需要来清除浮动
清除浮动
主要解决父级元素因为子级元素浮动引起的内部高度为0的问题
兄弟级
clear:; both清除两边的浮动 left right
父子级别
1.额外标签法
在浮动元素的末尾加一个空标签 <div style="clear: both;"></div>
2.父极添加overflow属性方法
overflow: hidden; 触发BFC BFC可以清除浮动
auto scroll都可以实现
3.使用after伪元素清除浮动
为父元素添加一个类
.clearfix::after {
content: '.';
disaplay: block;
height: 0;
clear: both;
visibility: hidden;
}
4.使用after和before双伪元素清除
.clearfix:before,.clearfix:after{
content: '';
display: table; 触发BFC
}
.clearfix:after{
clear:both;
}
.clearfix{
*zoom:1;
}