浮动通过Float属性实现,可设left、right、none、inherit;常用clear:both或clearfix类清除浮动,防止父容器塌陷。

在html中,元素的浮动是通过css的 float 属性来实现的。它可以让元素向左或向右移动,直到其边缘紧贴父容器或另一个浮动元素的边缘,常用于实现文字环绕图片、多栏布局等效果。
float属性的基本用法
float 属性有以下几个常用值:
- left:元素向左浮动
- right:元素向右浮动
- none:默认值,不浮动(推荐写上以清除默认浮动)
- inherit:继承父元素的浮动设置
示例代码:
<div style=”float: left; width: 100px; height: 100px; background: red;”></div>
<div style=”float: right; width: 100px; height: 100px; background: blue;”></div>
<p>这段文字会环绕在两个浮动的div周围。</p>
如何清除浮动
当元素浮动后,可能会导致父容器高度塌陷或后续元素错位,这时就需要“清除浮动”。
立即学习“前端免费学习笔记(深入)”;
clear 属性用于控制元素是否允许出现在浮动元素旁边,常用值包括:
- left:不允许左侧有浮动元素
- right:不允许右侧有浮动元素
- both:左右两侧都不允许有浮动元素(最常用)
- none:默认值,允许两侧浮动
示例:清除左右两侧浮动
<div style=”clear: both;”></div>
常见的清除浮动方法
除了使用 clear:both,还有几种更实用的清除浮动方式:
- 添加空元素清除:在浮动元素末尾添加一个空div并设置 clear:both
<div style=”clear: both;”></div> - 使用overflow属性:给父容器设置 overflow:hidden 或 overflow:auto,可触发BFC(块级格式化上下文),自动包含浮动元素
.parent { overflow: hidden; } - :after伪元素清除法(推荐):通过CSS伪类在内容末尾插入一个隐藏的块并清除浮动
推荐的clearfix写法:
.clearfix::after {
content: “”;
display: block;
clear: both;
}
然后给父容器加上这个类:
<div class=”clearfix”>
<div style=”float: left;”>左浮动</div>
<div style=”float: right;”>右浮动</div>
</div>
基本上就这些。float虽然在现代布局中逐渐被flex和grid取代,但在兼容老浏览器或简单排版时依然实用。关键是记得处理浮动带来的影响,尤其是父容器的高度问题。不复杂但容易忽略。