跳到主要内容
输入关键词开始搜索,↑ ↓ 选择,Enter 打开
没有找到匹配的文档

外边距

使用外边距工具类响应式地控制元素周围的空隙。

类名样式
.m-0margin: 0;
.m-1margin: 0.25rem;
.m-2margin: 0.375rem;
.m-3margin: 0.5rem;
.m-4margin: 0.75rem;
.m-5margin: 1rem;
.m-6margin: 1.25rem;
.m-7margin: 1.5rem;
.m-8margin: 1.75rem;
.m-9margin: 2rem;
.m-10margin: 2.25rem;
.m-11margin: 2.5rem;
.m-12margin: 3rem;
.m-automargin: auto;
.mx-0margin-inline: 0;
.mx-1margin-inline: 0.25rem;
.mx-2margin-inline: 0.375rem;
.mx-3margin-inline: 0.5rem;
.mx-4margin-inline: 0.75rem;
.mx-5margin-inline: 1rem;
.mx-6margin-inline: 1.25rem;
.mx-7margin-inline: 1.5rem;
.mx-8margin-inline: 1.75rem;
.mx-9margin-inline: 2rem;
.mx-10margin-inline: 2.25rem;
.mx-11margin-inline: 2.5rem;
.mx-12margin-inline: 3rem;
.mx-automargin-inline: auto;
.my-0margin-block: 0;
.my-1margin-block: 0.25rem;
.my-2margin-block: 0.375rem;
.my-3margin-block: 0.5rem;
.my-4margin-block: 0.75rem;
.my-5margin-block: 1rem;
.my-6margin-block: 1.25rem;
.my-7margin-block: 1.5rem;
.my-8margin-block: 1.75rem;
.my-9margin-block: 2rem;
.my-10margin-block: 2.25rem;
.my-11margin-block: 2.5rem;
.my-12margin-block: 3rem;
.my-automargin-block: auto;
.mt-0margin-block-start: 0;
.mt-1margin-block-start: 0.25rem;
.mt-2margin-block-start: 0.375rem;
.mt-3margin-block-start: 0.5rem;
.mt-4margin-block-start: 0.75rem;
.mt-5margin-block-start: 1rem;
.mt-6margin-block-start: 1.25rem;
.mt-7margin-block-start: 1.5rem;
.mt-8margin-block-start: 1.75rem;
.mt-9margin-block-start: 2rem;
.mt-10margin-block-start: 2.25rem;
.mt-11margin-block-start: 2.5rem;
.mt-12margin-block-start: 3rem;
.mt-automargin-block-start: auto;
.me-0margin-inline-end: 0;
.me-1margin-inline-end: 0.25rem;
.me-2margin-inline-end: 0.375rem;
.me-3margin-inline-end: 0.5rem;
.me-4margin-inline-end: 0.75rem;
.me-5margin-inline-end: 1rem;
.me-6margin-inline-end: 1.25rem;
.me-7margin-inline-end: 1.5rem;
.我-8margin-inline-end: 1.75rem;
.我-9margin-inline-end: 2rem;
.我-10margin-inline-end: 2.25rem;
.me-11margin-inline-end: 2.5rem;
.我-12margin-inline-end: 3rem;
.我--1margin-inline-end: -0.25rem;
.我--2margin-inline-end: -0.5rem;
.me-automargin-inline-end: auto;
.mb-0margin-block-end: 0;
.mb-1margin-block-end: 0.25rem;
.mb-2margin-block-end: 0.375rem;
.mb-3margin-block-end: 0.5rem;
.mb-4margin-block-end: 0.75rem;
.mb-5margin-block-end: 1rem;
.mb-6margin-block-end: 1.25rem;
.mb-7margin-block-end: 1.5rem;
.mb-8margin-block-end: 1.75rem;
.mb-9margin-block-end: 2rem;
.mb-10margin-block-end: 2.25rem;
.mb-11margin-block-end: 2.5rem;
.mb-12margin-block-end: 3rem;
.mb-automargin-block-end: auto;
.ms-0margin-inline-start: 0;
.ms-1margin-inline-start: 0.25rem;
.ms-2margin-inline-start: 0.375rem;
.ms-3margin-inline-start: 0.5rem;
.ms-4margin-inline-start: 0.75rem;
.ms-5margin-inline-start: 1rem;
.ms-6margin-inline-start: 1.25rem;
.ms-7margin-inline-start: 1.5rem;
.ms-8margin-inline-start: 1.75rem;
.ms-9margin-inline-start: 2rem;
.ms-10margin-inline-start: 2.25rem;
.ms-11margin-inline-start: 2.5rem;
.ms-12margin-inline-start: 3rem;
.ms--1margin-inline-start: -0.25rem;
.ms--2margin-inline-start: -0.5rem;
.ms-automargin-inline-start: auto;

概览

使用边距工具类来控制元素周围的外部空间。边距工具类是基于默认的 Sass map构建的,范围从 0 到 3rem(.m-0 到 .m-12)。使用像 .m-3 和 .m-5 这样的工具类来控制元素所有边的边距:

.m-3
.m-5
HTML
          <div class="m-3">.m-3</div>
<div class="m-5">.m-5</div>
        

使用 Flexbox 或 CSS Grid? 考虑使用 间距工具。

符号

适用于所有断点的边距工具类,从xs到2xl,不包含断点前缀。这是因为这些类从min-width: 0开始应用,因此不受媒体查询限制。然而,其余的断点则包含断点前缀。

这些类使用以下格式命名:{property}{sides}-{size}表示xs,{breakpoint}:{property}{sides}-{size}表示sm、md、lg、xl和2xl。

其中 property 是:

  • m - 用于设置 margin 的类

其中 sides 为以下之一:

  • t - 适用于设置了 margin-top 的类
  • b - 适用于设置了 margin-bottom 的类
  • s - (开始)适用于在 LTR 中设置 margin-left、在 RTL 中设置 margin-right 的类
  • e - (结束)适用于在 LTR 中设置 margin-right、在 RTL 中设置 margin-left 的类
  • x - 适用于同时设置 *-left 和 *-right 的类
  • y - 适用于同时设置 *-top 和 *-bottom 的类
  • 空白 - 适用于在元素的四面都设置 margin 的类

其中 size 为以下之一:

  • 0 - 对于消除…的课程 margin 通过将其设置为 0
  • 1 -(默认情况下)用于设置该类的 margin 到 $spacer * .25
  • 2 -(默认情况下)用于设置该类的 margin 到 $spacer * .375
  • 3 -(默认情况下)用于设置该类的 margin 到 $spacer * .5
  • 4 -(默认情况下)用于设置该类的 margin 到 $spacer * .75
  • 5 -(默认情况下)用于设置该类的 margin 到 $spacer * 1
  • 6 -(默认情况下)用于设置该类的 margin 到 $spacer * 1.25
  • 7 -(默认情况下)用于设置该类的 margin 到 $spacer * 1.5
  • 8 -(默认情况下)用于设置该类的 margin 到 $spacer * 1.75
  • 9 -(默认情况下)用于设置该类的 margin 到 $spacer * 2
  • 10 -(默认情况下)用于设置该类的 margin 到 $spacer * 2.25
  • 11 -(默认情况下)用于设置该类的 margin 到 $spacer * 2.5
  • 12 -(默认情况下)用于设置该类的 margin 到 $spacer * 3
  • auto - 对于设置了的类 margin 自动

(你可以通过向 $spacers Sass map变量添加条目来增加更多尺寸。)

示例

单面

使用像 .mt-3、.me-2、.mb-4 和 .ms-1 这样的工具来控制元素一侧的外边距:

.mt-4
.me-4
.mb-4
.ms-4
HTML
          <div class="mt-4">.mt-4</div>
<div class="me-4">.me-4</div>
<div class="mb-4">.mb-4</div>
<div class="ms-4">.ms-4</div>
        

水平边距

使用像 .mx-3 和 .mx-5 这样的工具来控制元素的水平边距:

.mx-3
.mx-5
HTML
          <div class="mx-3">.mx-3</div>
<div class="mx-5">.mx-5</div>
        

垂直边距

使用像 .my-3 和 .my-5 这样的工具来控制元素的垂直边距:

.my-3
.my-5
HTML
          <div class="my-3">.my-3</div>
<div class="my-5">.my-5</div>
        

水平居中

Bootstrap 包含一个 .mx-auto 类,用于水平居中固定宽度的块级内容——即具有 display: block 和 width 设置的内容——通过将水平外边距设置为 auto。

.mx-auto
HTML
          <div class="mx-auto" style="width: 200px;">
  Centered element
</div>
        

负边距

在 CSS 中,margin 属性可以使用负值(padding 不能)。在 v6 中,负边距仅限于 margin-inline-start 和 margin-inline-end,使用间距符 -1(-0.25rem)和 -2(-0.5rem):

HTML
          <div class="ms--1">.ms--1</div>
<div class="me--2">.me--2</div>
        

v5 的全方位负边距工具类(如 .mt-n1)已被移除。

响应式

所有的边距工具类都是响应式的,并包含所有的断点。

  • .m-0 到 .m-12 和 .m-auto
  • .sm:m-0 到 .sm:m-12 和 .sm:m-auto
  • .md:m-0 到 .md:m-12 和 .md:m-auto
  • .lg:m-0 到 .lg:m-12 和 .lg:m-auto
  • .xl:m-0 到 .xl:m-12 和 .xl:m-auto
  • .2xl:m-0 到 .2xl:m-12 和 .2xl:m-auto

CSS

Sass 工具 API

边距工具在我们的工具 API scss/_utilities.scss 中声明。了解如何使用工具 API。

"margin": (
  responsive: true,
  property: margin,
  class: m,
  values: map.merge($spacers, (auto: auto))
),
"margin-x": (
  responsive: true,
  property: margin-inline,
  class: mx,
  values: map.merge($spacers, (auto: auto))
),
"margin-y": (
  responsive: true,
  property: margin-block,
  class: my,
  values: map.merge($spacers, (auto: auto))
),
"margin-top": (
  responsive: true,
  property: margin-block-start,
  class: mt,
  values: map.merge($spacers, (auto: auto))
),
"margin-end": (
  responsive: true,
  property: margin-inline-end,
  class: me,
  values: map-merge-multiple($spacers, $negative-spacers, (auto: auto))
),
"margin-bottom": (
  responsive: true,
  property: margin-block-end,
  class: mb,
  values: map.merge($spacers, (auto: auto))
),
"margin-start": (
  responsive: true,
  property: margin-inline-start,
  class: ms,
  values: map-merge-multiple($spacers, $negative-spacers, (auto: auto))
),