文字与图片重叠是因为浮动元素脱离文档流,后续内容会环绕其排列;使用 clear: both 可清除浮动影响,使元素两侧不出现浮动对象,从而避免布局错位。

当网页中的图片或其他元素使用浮动(float)时,常会导致文本环绕其周围。虽然这种布局在某些场景下很实用,但若未正确处理,容易造成后续内容错位甚至重叠。为解决此类问题,CSS 提供了 clear 属性来清除浮动影响,确保页面结构清晰。
为什么会出现文字与图片重叠?
当一个元素设置了 float: left 或 float: right,它会脱离正常文档流,后面的文本会围绕在其左侧或右侧显示。如果不清除浮动,后续块级元素可能会上移,与浮动元素发生重叠。
例如:一张左浮动的图片后紧跟一段文字,文字会自然环绕图片。但如果希望某部分内容从新的一行开始、不与图片并列,就必须清除浮动的影响。
使用 clear 属性清除浮动
clear 属性用于指定一个元素的哪一侧不允许出现浮动元素。常用取值包括:
立即学习“前端免费学习笔记(深入)”;
- clear: left —— 元素左侧不允许有浮动元素
- clear: right —— 元素右侧不允许有浮动元素
- clear: both —— 元素两侧都不允许有浮动元素(最常用)
在需要清除浮动的元素上添加 clear: both,即可让该元素从新的一行开始渲染,避免与前面的浮动内容重叠。
实际应用示例
以下是一个典型场景:
@@##@@这是一段环绕图片的文字内容……
在这个例子中, 也可以将这个清浮动的 div 写成类,在 CSS 中复用: 然后在 HTML 中使用: 虽然 clear 方法简单有效,但在复杂布局中更推荐使用其他方式控制浮动影响,比如: 但对于简单的图文混排场景,clear: both 依然是快速解决问题的有效手段。 基本上就这些,掌握 clear 的用法能帮你快速修复因浮动导致的内容重叠问题。
.clearfix {
clear: both;
}
现代替代方案(补充说明)










