当前位置: 首页 > news >正文

解决HTML塌陷的方法

1.塌陷问题

1.1 什么是塌陷问题

HTML 中的“塌陷”这个词并不是官方术语,但在前端中常被用来描述父元素因为子元素浮动、定位或 margin 折叠而出现的“高度为 0”或“视觉缺失”现象

1.2 常见的塌陷问题

1.2.1 浮动塌陷

现象:给子元素加了 float: left/right 后,父元素像“瘪”了一样,高度变成 0,背景、边框无法包裹住子元素。

原理:浮动元素会脱离普通文档流,不再把高度“贡献”给父元素。

解决方法:

1.清除浮动(clearfix)——最通用

/* 在父元素上挂一个伪类 */
<style>
.clearfix::after {content: '';display: table;clear: both;
}
</style><div class="box clearfix"><div class="left">浮动1</div><div class="left">浮动2</div>
</div>

2.父元素触发 BFC(Block Formatting Context)——让父元素自己“撑开”

<style>
.box {overflow: hidden;   /* 或 auto、scroll *//* 其他触发 BFC 的值也可以:display:flow-root / display:table / position:absolute 等 */
}
</style>

1.2.2 margin 折叠塌陷(垂直方向“合并”)

现象:上下两个相邻块级元素,各自的 margin-top / margin-bottom 不会相加,而是取最大值;如果父元素没有 border/padding,子元素的 margin-top 甚至会“穿透”到父元素外面。

原理:CSS 规定垂直方向的 margin 可以折叠,目的是让段落间距更符合排版直觉。

解决方法:

1.给父元素加 border 或 padding——打断折叠

<style>
.parent {border-top: 1px solid transparent;  /* 只要不为 0 即可 *//* 或 padding-top: 1px; */
}
</style>

2.触发 BFC布局

<style>
.box {overflow: hidden;   /* 或 auto、scroll *//* 其他触发 BFC 的值也可以:display:flow-root / display:table / position:absolute 等 */
}
</style>

3.使用padding代替margin——从源头上解决

<style>
.child {/* margin-top: 20px; */padding-top: 20px;  /* padding 不会折叠 */
}
</style>

http://www.dtcms.com/a/469982.html

相关文章:

  • sqlite 使用: 03-问题记录:在使用 sqlite3_bind_text 中设置 SQLITE_STATIC 参数时,处理不当造成的字符乱码
  • 网站建设与维护难不难为什么找别人做网站
  • 广州木马网站建设公司医院门户网站建设规划
  • 大模型学习之 深入理解编码器与解码器
  • pyqt 触摸屏监听
  • C++ Primer Plus 第六版 第十三章 编程题
  • 大模型前世今生(十二):Hessian矩阵
  • 蛙跳积分法:分子动力学模拟中的高效数值积分技术
  • 详解 SNMPv1 与 SNMPv2 Trap 格式
  • 书法网站建设成都微信公众号制作
  • 宜春网站制作公司wordpress图片上传慢
  • Python串口通信与MQTT物联网网关:连接STM32与物联网平台
  • MyLanViewer(局域网IP扫描软件)
  • 湛江专业建站推荐40平米小户型装修效果图
  • 147.《手写实现 Promise.all 与 Promise.race》
  • 【HarmonyOS】异步并发和多线程并发
  • 使用docker 安装dragonfly带配置文件(x86和arm)版本
  • 企业信息型网站有哪些网站建设塞西
  • 怎么看网站是什么程序做的益阳网络
  • SpringBoot通过配置类替换配置文件配置
  • 使用Customplot绘制时间-数据曲线
  • **量子算法:探索未来的发散创新之路**随着信息技术的飞速发展,量子计算作为
  • 4. 手写数字识别,推理,批处理
  • AI编程时代的文档困境与破局之道:从Cursor到完整开发体系
  • DVWA靶场之十八:API 安全(API Security)
  • ORB_SLAM2原理及代码解析:Optimizer::LocalBundleAdjustment
  • 中文wordpress站点wordpress 获取路径
  • 从零搭建 Kubernetes 1.28 高可用集群
  • 网站建设有什么岗位职责唐山广告设计制作公司
  • Apache Doris 内部数据裁剪与过滤机制的实现原理 | Deep Dive