CSS 浮动引起父元素高度塌陷

当某个元素设置了浮动,并且刚好此时它的父元素内部没有其它标准元素后,会导致它的父元素高度坍塌,也就是height为0。

这会影响这块区域的整个布局,我举个例子。

我的页面本来是这样的:

A盒子在B盒子中,B盒子和C盒子上下结构。

这时我希望把A移动到右边去,我想到最好的办法就是直接用一个浮动,当我对A设置了float:right后,页面成了这样:

A的位置是对了,但是B的高度塌陷height=0后,原来占据的空间消失,导致C又向上移动,同时覆盖在A上,这完全把之前的布局打乱了,我其实希望A能依然占据原来的空间。

这就是浮动引起的父元素高度塌陷带来的问题。

解决浮动带来的父元素高度塌陷的方法主要有两个。

一 把父元素变成BFC

css 复制代码
.div{
    overflow:hidden
}

二 伪元素清除浮动(作用于父元素)

css 复制代码
.div::after{
    content:""
    display:block
    clear:both
}

总结

浮动可能会带来父元素高度塌陷的问题,建议每次使用浮动,都对其父元素使用清除浮动操作,这样一劳永逸,不用费神考虑是否等父元素没有标准盒子的时候再清除浮动,有时候我们也并不保证是否将来的业务会导致兄弟盒子元素会发生增减。

操作方法也很简单,全局定义一个类,它的作用就是清除浮动,只要使用浮动的位置,给其父元素添加这个类名即可。

相关推荐
用户693717500138444 分钟前
Kimi K3 综合能力处于全球第一梯队
android·前端·后端
anno1 小时前
Agent 新手 Skill 优先级指南:从第一套必装工作流,到专业能力补全
前端·后端
Liora_Yvonne1 小时前
前端请求层到底怎么封?为什么全局 axios 单例越用越难维护
前端
anno1 小时前
别再把文档“一刀切”:用 LangChain.js 做好 RAG 的第一公里
前端·后端
皮卡穆1 小时前
React 中使用 react-org-tree 实现组织结构树
前端·react.js·前端框架
MariaH1 小时前
费曼学习法与effort-learning理论
前端
qiaofugui1 小时前
如何用 Codex 做一次可靠的项目重构:方法、节奏和可复用提示词
前端
涛涛ing1 小时前
前端圈7月大地震:TS 7发布、Bun 11天从Zig迁Rust、Kimi K3登顶、大厂裁员50%
前端
遇乐的果园2 小时前
前端学习笔记-vue列表处理
前端·vue.js·学习