盒子外边距折叠-塌陷现象

130 阅读1分钟

image.png 原本的效果是这样,里面的红色正方形紧贴着外面的蓝色正方形,蓝色正方形紧贴着浏览器的边框 image.png

但是给s设置margin-top以后 image.png 效果却不只是红色正方形下移,蓝色正方形也下移了

image.png

这是因为红色正方形和蓝色正方形的margin-top是紧贴着的,导致了margin-top合并作用在父元素上 互相嵌套的块级元素,子元素的margin-top会作用在父元素上。

解决方法

1.给父元素设置border-top或者padding-top或者给父元素加一些内容,用来分离父子元素的margin-top,这种方法的缺点是会改变网页的布局。

image.png

image.png

2.给父元素设置overflow:hidden;

3.将父元素或子元素转换成行内块元素,设置display:inline-block;

4.给父元素设置浮动.