大家好,又见面了,我是你们的朋友全栈君。
我们看MDN上的一句话
块级元素的上外边距和下外边距有时会合并(或折叠)为一个外边距,其大小取其中的最大者,这种行为称为外边距折叠(margin collapsing),有时也翻译为外边距合并。注意
浮动元素
和绝对定位元素
的外边距不会折叠。
计算的原则
- 两个都为正值直接去最大值;
- 两个一正一副时, 使用正值去减去负值的绝对值;
- 两个都为负值时, 两个都使用绝对值, 在使用0减去最大值。
解决办法
- 兄弟间重叠时
- 底部元素变为行内盒子(
display: inline-block
); - 底部元素设置flot
- 底部元素的position的值为absolute/fixed
- 底部元素变为行内盒子(
- 父元素与子元素重叠
- 父元素加入(
overflow: hidden
); - 父元素添加透明边框(
border:1px solid transparent
); - 子元素变为行内盒子(
display: inline-block
); - 子元素加入浮动属性或定位
- 父元素加入(
转载于:https://my.oschina.net/u/3105272/blog/3029236
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/106905.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...