CSS中外边距合并及BFC解决方案

本文详细介绍了CSS中外边距合并的现象及其三种常见情况,并提供了阻止外边距合并的通用方法。此外,重点讲解了BFC(Block Formatting Context)的概念,以及如何利用BFC解决外边距重叠、浮动元素高度计算等问题,为实现更精确的布局控制提供解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文章:https://juejin.im/post/5965c46ef265da6c2518f5ec

1.外边距合并

块的顶部外边距和底部外边距有时候会被折叠为单个外边距,其大小为两值中的最大值,这种行为就被称为外边距合并。

一般发生外边距合并主要有以下三种情况:
1.相邻兄弟姐妹元素
2.父元素和子元素
3.空元素

相邻兄弟姐妹元素

两个兄弟元素之间的外边距,会取两个元素外边距的最大值。

<p style="margin-bottom: 30px;">这个段落的下外边距被合并...</p>
<p style="margin-top: 20px;">...这个段落的上外边距被合并。</p>

按照上面的例子可以得出,两个p元素之间距离为30px。

父元素和子元素

这种情况又可以分为以下两种:
1.父元素的上外边距和第一个子元素的上外边距
2.父元素的下外边距和最后一个子元素的下外边距

这两种情况,最终显示出来的结果都是取二者中的最大值。

空元素

自己的上外边距会和自己的下外边距合并

假设有一个空元素,它有外边距,但是没有边框或填充。在这种情况下,上外边距与下外边距就碰到了一起,它们会发生合并:

在这里插入图片描述

如果这个外边距遇到另一个元素的外边距,它还会发生合并:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值