盒子模型----margin

359 阅读2分钟
盒子模型深入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