浮动元素脱离文档流,不参与父容器高度计算但影响文本环绕和块级元素布局;父容器高度常为0,需通过BFC或clear清除浮动来修复。

浮动元素脱离文档流,但会影响其他元素的布局
浮动元素( 因为浮动子元素已脱离文档流,父容器在计算自身高度时,不会把它们的高度纳入考量。常见现象是: 会,而且影响方式很具体: 不推荐。浮动本质是为图文混排设计的,不是布局工具: 真正容易被忽略的是:浮动元素的“存在感”是分层的——它对父容器高度“隐身”,对同行文本“显形”,对后续块级流“半透明”。理解这三层,比死记“是否占空间”更有实际调试价值。 立即学习“前端免费学习笔记(深入)”;float: left 或 float: right)会从**正常文档流中被移除**,不再占据原本的块级空间——也就是说,后续的普通流块元素(如 、
为什么父容器经常高度为 0?
此时 .parent 的 height 计算结果为 0(除非有其他非浮动内容撑高)。
clear)或 BFC 触发(如 overflow: hidden、display: flow-root)来重绘包含块边界浮动元素是否还影响其他元素的位置?
clear: both,它会强制下移到浮动元素下方,避开所有浮动区域margin、padding、border 仍生效,但这些盒模型尺寸不参与父容器高度计算(除非触发 BFC)现代开发中该不该依赖浮动做布局?
float 在 Flexbox 和 Grid 普及后已退居次要地位clearfix、嵌套清除失效)float 无内置对齐/分布能力float + :after 伪元素 clear;否则优先用 display: flow-root 包裹浮动子项,或直接切到 display: flex










