浮动(Float)是CSS中一种常用的布局技术,它可以使元素脱离文档流,并根据指定的方向进行移动。浮动的原理是通过改变元素的定位方式,使其具有浮动性,可以让其他元素环绕在其周围。
浮动有两种值:left(左浮动)和right(右浮动)。当元素设置了浮动属性后,会向指定的方向浮动,并尽可能地占据可用空间。如果元素之间有足够的空间,它们会靠近并排显示;如果没有足够的空间,则会换行显示。
使用示例:
HTML:
<div class="container">
<div class="box box-left">左浮动</div>
<div class="box box-right">右浮动</div>
</div>
CSS:
.container {
width: 400px;
border: 1px solid #ccc;
overflow: auto; /* 清除浮动时需要添加此属性 */
}
.box {
width: 100px;
height: 100px;
margin: 10px;
}
.box-left {
float: left;
background-color: red;
}
.box-right {
float: right;
background-color: blue;
}
在上面的示例中,`.box-left`元素设置了左浮动,`.box-right`元素设置了右浮动。由于容器`.container`的宽度限制,右浮动元素会排在左浮动元素的右边,并换行显示。如果将`.container`的宽度增大,两个浮动元素则能够同时显示在一行上。
需要注意的是,浮动元素会导致父元素的高度塌陷(父元素无法自动计算出包含浮动元素的高度),可以通过清除浮动来解决这个问题,可以使用`clear: both;`、额外添加空的清除元素或者使用父元素设置`overflow: auto;`等方式进行清除浮动。