clear:left只避开左侧浮动,不阻止右侧浮动侵入;clear:both才真正同时避开左右浮动,行为可预测且通用。

clear: left 只躲左边,不管右边
给元素加 clear: left,不是“把左边浮动干掉”,而是“我这元素左边不能有浮动,否则我就往下挪,直到左边空了为止”。它完全不检查右边——哪怕右边飘着三个 float: right 的盒子,它照样顶上去,可能被遮挡、重叠或文字环绕异常。
为什么 clear: left 后内容还是被右浮动压住
这是最常踩的坑:以为清了左浮就“安全了”,结果右浮动还在原位占空间。常见于双栏布局——左侧导航 float: left,右侧广告 float: right,中间正文加了 clear: left,但广告仍盖在文字上。
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
- 目标元素必须是块级(
display: block或table等),inline、flex子项、grid项都不响应clear - 它只对浮动元素的**同级后续兄弟元素**生效,嵌套一层就失效
- 检查是否遗漏了其他浮动元素(比如隐藏的
<img>或伪元素)——它们也参与浮动计算
什么情况下能放心用 clear: left
仅当右侧确定无浮动时才可靠。典型场景:纯文本流 + 左侧固定宽度侧边栏,且右侧永远不会有 float: right 或绝对定位干扰。
- 不要用于响应式布局,尤其当视口变化可能触发右浮动切换时
- IE6/7 对
clear: left解析有偏差,若需兼容,务必实机测试 - 现代项目中,更推荐用
display: flex或text-align: right实现右对齐,绕开clear逻辑
clear: both 才是真保险,别省这点事
如果你不确定右浮是否存在、是否会被动态插入、或只是懒得排查浮动来源,直接用 clear: both。它强制元素下移到所有浮动兄弟底部,行为稳定,兼容性无死角。真正容易被忽略的是:clear 从不修复父容器塌陷——那得靠 display: flow-root 或伪元素 ::after 触发 BFC。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










