盒子模型深入margin
对于行内元素来说,
margin在 水平方向 上有效,在 垂直方向 上是无效的。
对于块级元素来说,
margin会发生塌陷(重叠)。
margin的塌陷的条件:
1)必须是块级元素
2)垂直方向 水平方向不可能塌陷
对于margin的塌陷来说,分两类:
1)兄弟元素之间的margin塌陷
2)父子元素之间的margin塌陷
兄弟元素之间的margin塌陷:
上面的盒子设置margin-bottom,下面的盒子设置margin-top。取大优先
解决兄弟元素之间的margin塌陷:
1)子元素浮动起来 父元素的宽度和子元素的宽度一样
2)设置为inline-block
写页面是最好避免同时设置上下两个盒子的margin。
二 父子元素之间的margin塌陷
1)父元素的margin-top与它的第一个子元素的margin-top塌陷
2)父元素的margin-bottom与它的最后一个子元素的margin-bottom塌陷
1. 父元素的margin-top与它的第一个子元素的margin-top塌陷
解决:
1)可以给father加上border 加上边框就可以解决这种塌陷问题
最终的margin也是取大优先。
2 父元素的margin-bottom与它的最后一个子元素的margin-bottom塌陷
解决:
1)可以给father 加上 border 加上边框就可以解决这种塌陷问题
不管是上面的哪种,解决办法如下:
1)给father 加上 border-top就OK
可以设置边框是透明的 border-top: 1px solid transparent;
2)给father加上padding-top就OK
3)给子元素设置成行内块-----display:inline-block