CSS高度塌陷的问题的解决方案
什么是高度塌陷?
父元素高度自适应,子元素float之后,造成父元素高度为0,称为高度塌陷。他的产生条件就是子元素浮动 如图 如图:
.top-bar-wrapper是.location和.shortcut的父类。.location和.shortcut中设置了浮动。而父类.top-bar-wrapper中高度设置的是自适应,就会出现了高度塌陷,此时.top-bar-wrapper
】中设置的背景颜色就会没有作用了。
方法一:为父元素设置高度
给父元素添加固定高度,适合做高度固定的布局
建议:不推荐使用,只建议高度固定的布局使用
方法二:给父元素添加overflow:hidden
优点:简单,代码少,浏览器支持好
缺点:不能和position配合使用,因为超出的尺寸会被隐藏
建议:在页面布局中如果经常使用到定位不建议使用这个方法解决高度塌陷问题
方法三:给父元素结尾添加div标签clear:both
优点:简单、代码少、浏览器支持好、不容易出现怪问题
缺点:不少初学者不理解原理,需要增加多余的空标签,让人感觉不好
建议:不推荐使用,但是此方法是以前主要是用的一种清除浮动的方法
方法四:给父元素加入万能清除法
.clearfix::before,
.clearfix::after{
content: '';
display: table;
clear: both;
}
将.clearfix加入父元素

优点:浏览器支持好、不容易出现怪问题
缺点:代码多、不少初学者不理解原理,要两句代码结合才能让主流浏览器都支持
建议:推荐使用,建议定义公共类,以减少CSS代码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】