css中外边距合并问题
外边距合并指的是,当两个垂直外边距相遇时,他们将形
成一个外边距。合并后的外边距的高度等于两个发生外边
距的高度中的较大者。(注释:只有普通文档流中块框的
垂直外边距才会发生外边距合并。行内框,浮动框或者绝
对定位之间的外边距不会合并)
外边距合并的计算原则:
两者是正数,取较大者的外边距
一正一负,正值减去负值的绝对值(也就是负值加正值)
两个都是负值,0减去绝对值大的那个
外边距合并的两种常见情况:
外边距合并的解决办法:
(1) 兄弟间的重叠
底部元素为行内盒子:diplay: inline-block
底部元素设置浮动:float
底部元素的position的值为absolute/fixed
(2)父子间重叠
父元素加入:overflow:hidden
父元素添加透明边框:border:1px solid transparent
子元素变为行内盒子:display:inline-block
子元素加入浮动属性或定位