clear属性用于控制元素两侧是否允许浮动元素,其常用值为left、right、both和none;设置clear:left可避开左侧浮动,clear:right避开右侧,clear:both同时清除两侧浮动,最常用;实际布局中推荐使用clear:both或clearfix伪元素方法,确保元素避开所有浮动影响,防止错位。

在使用浮动布局时,元素脱离文档流可能导致父容器高度塌陷或后续元素错位。CSS 的 clear 属性可以解决这类问题,它用于控制元素两侧是否允许出现浮动元素。要清除指定方向的浮动,可以通过设置 clear 的具体值来实现。
clear 属性的常用取值
clear 属性有以下几个可选值,用于控制清除浮动的方向:
- clear: left; — 清除左侧浮动,元素将下移直到没有浮动块挡在左边
- clear: right; — 清除右侧浮动,元素下移到右侧无浮动元素为止
- clear: both; — 同时清除左右两侧浮动,最常用
- clear: none; — 默认值,不进行任何清除操作
如何清除指定方向的浮动
假设你有两个浮动元素,一个左浮一个右浮,你想让某个元素只避开左侧的浮动,就可以使用 clear: left。
示例代码:
立即学习“前端免费学习笔记(深入)”;
左侧浮动右侧浮动这个元素会避开左侧浮动,但可能与右侧浮动并排
在这个例子中,第三行的 div 只清除左侧浮动,如果右侧空间足够且没有被阻挡,它可能仍会与右侧浮动元素同行显示。
实际应用建议
在大多数布局场景中,推荐使用 clear: both 来确保元素真正“换行”并避开所有浮动内容,避免意外重叠。
常见做法是在浮动元素之后添加一个空元素并设置 clear:
浮动块1浮动块2
或者更现代的方式是使用伪元素清除法(clearfix):
.clearfix::after {
content: "";
display: table;
clear: both;
}
基本上就这些。根据需要选择 clear 的方向值,就能精准控制元素如何避开浮动布局带来的影响。










