Skip to content

Latest commit

 

History

History
76 lines (62 loc) · 2.79 KB

margin 与 padding 的区别.md

File metadata and controls

76 lines (62 loc) · 2.79 KB

margin 与 padding 的区别

  • margin 是元素周围的空间。
┌──────────────────────┐               ┌──────────────────────┐
|                      |               |                      |
|                      |               |                      |
|   Element            |◀︎── margin ──▶︎|        Element       |
|                      |               |                      |
|                      |               |                      |
└──────────────────────┘               └──────────────────────┘

padding 是元素与其内部内容之间的空间。marginpadding 都不包括元素的 border

┌─────────────▲─────────────┐
|             | Padding     |
|             |             |
|       ┌─────▼─────┐       |
|       |           |       |
|◀︎────▶︎|  Content  |◀︎────▶︎|  ◀︎── Element
|       |           |       |
|       |           |       |
|       └─────▲─────┘       |
|             |             |
|             |             |
└─────────────▼─────────────┘
  • 上下边距是可重叠的。

让我们考虑一个例子,我们有两个元素 ABA 元素在底部有 30px 的空间,而 B 在顶部有 20px 的空间。

最后,两个元素之间的边距是两个边距值的最大数,即 30px,而不是它们的总和。

┌───────────────────────────┐
|                           |
|              A            |
|                           |
└───────┬───────▲───────────┘
        |       |
        |       |
        |       |
        |       |
margin  |       | margin
bottom  |       | top
        |       |
        |       |
        |       |
┌───────▼───────┴───────────┐
|                           |
|              B            |
|                           |
└───────────────────────────┘

左、右边距和任何 padding 值都不会出现这种情况。

我们经常使用 margin: auto 使元素居中。

margin 可以是任何浮点数,但 padding 不能是负数。

div {
  margin: -10px;
  /* ❌ */
  padding: -15px;
}

更多资料

BFC 及其应用