浮动元素脱离文档流致父容器高度塌陷,推荐用clearfix伪元素(.clearfix::after{content:"";display:table;clear:both})触发BFC;次选overflow:hidden/auto;现代项目宜用Flexbox或Grid替代浮动。
浮动元素会脱离文档流,导致父容器高度塌陷,背景或边框无法包裹子元素。解决方法是让父容器“清除浮动”,重新计算高度。
这是最通用、语义清晰的方案,兼容所有现代浏览器,不影响布局和溢出行为。
原理是利用伪元素生成一个块级、清除两侧浮动的空内容,触发父容器BFC(块级格式化上下文),从而包裹浮动子元素。
简单快捷,适合快速修复,但需注意副作用:
)两者都能触发BFC,使父容器包含浮动子元素的高度,背景自然显示。
(过时):增加无意义HTML,维护性差基本上就这些,优先用clearfix,临时调试可用overflow:hidden,长期项目建议转向Flexbox或Grid布局。