在 CSS 中,浮动(float
)是一种定位元素的方式,它允许元素脱离正常的文档流,并向左或向右移动,直到其边缘碰到包含块或者另一个浮动元素的边缘。下面从多个方面详细介绍 CSS 浮动:
一,浮动的结果
浮动后的元素会脱离标准流,不会再保留原先的位置,会飘起来。
浮动后的元素不会出现margin塌陷问题。
任何元素都可以浮动,添加浮动后都具有行内块元素的特性。(如span添加浮动后,可以设置宽和高)
二,浮动的影响
浮动的盒子只会影响浮动盒子后面的标准流,不会影响前面的标准流。
为了约束浮动元素的位置,先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置,符合网页布局第一准则。
三,清除浮动
为什么要清除浮动?由于父盒子在很多情况下,不方便给高度,但是盒子浮动又不占有位置,最后父盒子高度为0时,就会影响下面的标准流盒子。
清除浮动后,父级就会根据子盒子自动检测高度,父级有了高度,就不会影响下面的标准流了。
清除浮动的方法1:在浮动元素末尾添加一个新的标签(块级元素),如<div style="clear:both"><div>
清除浮动的方法2:为父元素添加overflow属性,将其属性值设置为hidden,auto或者scroll。
清除浮动的方法3:为父元素的class添加clearfix,并且在前面添加代码:
.clearfix:before,
.clearfix:after {
content: "";
display: table;
}
.clearfix:after {
clear: both;
}
.clearfix {
*zoom: 1;
}
四,注意事项
一浮全浮。在同一行上的盒子,一个盒子加上浮动后,其他盒子也要浮动。不然浮动会失效。