阅读 39

垂直margin为什么会重叠

之前看到的post中有这样的一个问题:垂直margin为什么会重叠?我可以说出solve,但是说不出why。

在stackoverflow上找到了一个很好的解释:margin的定义不是让元素移动xxpx,而是这个元素的旁边必须有xxxpx的的空白

得到了这个解释之后,想一下“为首个子元素添加20px的上边距,父元素竟跟着子元素下沉了”这个问题,再思考一下解决方法。给父元素添加overflow开启一个BFC,或者给父元素增加padding、border之类,这样的做法使元素的旁边边界不是上一个盒子而是父元素,必须要存在的空白的相对位置变了,这个时候,子元素不会再去“影响”父元素的位置。

关注下面的标签,发现更多相似文章
评论