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