CSS Margin 塌陷
CSS About 568 wordsMargin Collapse
垂直方向上,两个相邻的块级元素(或者父子元素)的margin
会重叠,取较大值作为最终生效的margin
,若有负的Margin
则取绝对值最大的,正负抵消后计算。
相邻块级元素的 Margin 塌陷
div1
的margin-bottom: 20px
与div2
的margin-top: 30px
,则两个相邻的块级间距不是50px
,而是30px
。
<div style="margin-bottom: 20px">块1</div>
<div style="margin-top: 30px">块2</div>
父子元素的 Margin 塌陷
子元素margin
穿透父元素,实际只有margin-top: 30px
。
<div style="margin-top: 20px">
<div style="margin-top: 30px">子元素</div>
</div>
解决方法
方法一
使用flex
布局,gap
属性保证元素间距。
方法二
BFC
块级格式化上下文,使父元素独立布局,隔绝子元素margin
。
对于父子元素的margin
塌陷,在父元素中添加overflow: hidden
,即可解决子元素margin
穿透父元素。
方法三
相邻块级元素的margin
塌陷,可以使用padding
来解决。
Views: 183 · Posted: 2025-09-05
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓

Loading...