07-margin

145 阅读1分钟

margin

  • 概念:盒子的外边距,盒子和盒子之间的距离

  • 设置方式:

    /* 单独设置 */
    margin-top: 20px;
    margin-right: 20px;
    margin-bottom: 20px;
    margin-left: 20px; 
    /* 复合属性 */
    //一个值  上下左右
    margin: 20px; 
    //两个值  上下   左右 
    margin: 10px 20px;
    //三个值  上   左右   下
    margin: 10px 20px 30px;
    //四个值  上  右  下  左 
    margin: 10px 20px 30px 40px ;
    
  • margin使用技巧:margin:0 auto:上下外边距为0,左右自适应,

    • 注意:auto只能左右自适应,上下不生效。如果需要垂直居中,则可以单独使用margin-top:calc((大盒子高度 - 小盒子高度) / 2)
  • margin的特点:

    • margin-top的传递性
      

      :小盒子找不到大盒子的边界时,给小盒子设置

      margin-top
      

      ,大盒子会和小盒子一起往下移动

      • 解决传递性:

        • 给大盒子添加边框,但是会影响盒子实际大小
        • 给大盒子设置内边距,但是会影响盒子实际大小
        • 给大盒子添加属性overflow:hidden,使用BFC区域的特点解决margin-top的传递性
    • mrgin的重叠性:在垂直方向上具有重叠性,以值更大的为准。水平方向上没有重叠性,两个盒子外边距直接相加即可

    • 对于行级元素,margin左右有效,上下无效