margin

margin属性为给定元素设置所有四个(上下左右)方向的外边距属性。

  • 可以接受1~4个值(上、右、下、左的顺序)
  • 可以分别指明四个方向:margin-top、margin-right、margin-bottom、margin-left
  • 可取值
    • length:固定值
    • percentage:相对于包含块的宽度,以百分比值为外边距。
    • auto:让浏览器自己选择一个合适的外边距。有时,在一些特殊情况下,该值可以使元素居中。
  • 外边距重叠
    • 块的上外边距(margin-top)和下外边距(margin-bottom)有时合并(折叠)为单个边距,其大小为单个边距的最大值(或如果它们相等,则仅为其中一个),这种行为称为边距折叠。
    • 左右边距不会折叠
    • 父元素与后代元素:父元素没有上边框和padding时,后代元素的margin-top会溢出,溢出后父元素的margin-top会与后代元素取最大值。 ```css .div-outer { width: 300px; height: 300px; background-color: lightblue; / border-top: 1px solid; / / padding-top: 1px; / / overflow: hidden; / }

.div-outer:before { content: “”; display: table; }

.div-inner { width: 100px; height: 100px; background-color: darkred; margin: 20px auto; / 结合父元素width 居中显示 / }

  1. ![](https://cdn.nlark.com/yuque/0/2022/svg/5365225/1661831087245-cc87814d-95d6-4a06-b651-a651beb69158.svg#clientId=uf6fd91f1-aedc-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=588&id=u69115cab&margin=%5Bobject%20Object%5D&originHeight=150&originWidth=194&originalType=url&ratio=1&rotation=0&showTitle=false&status=done&style=none&taskId=u7716c825-0f1f-4637-938b-151764ef530&title=&width=761)
  2. <a name="iDCB5"></a>
  3. ## `padding`
  4. padding CSS 简写属性控制元素所有四条边的内边距区域。
  5. - 可以接受1~4个值(上、右、下、左的顺序)
  6. - 可以分别指明四个方向:padding-toppadding-rightpadding-bottompadding-left
  7. - 可取值
  8. - length:固定值
  9. - percentage:相对于包含块的宽度,以百分比值为内边距。
  10. ```css
  11. .div-outer {
  12. width: 300px;
  13. height: 300px;
  14. background-color: lightblue;
  15. padding: 20px 0 0 30px;
  16. }
  17. .div-inner {
  18. width: 100px;
  19. height: 100px;
  20. background-color: darkred;
  21. padding: 10% 10%;
  22. }