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

间距

使用 gap 工具控制 flexbox 或网格布局中元素之间的间距。包括对单独行和列间隙的支持。

类名样式
.gap-0gap: 0;
.间隙-1gap: 0.25rem;
.gap-2gap: 0.375rem;
.gap-3gap: 0.5rem;
.gap-4gap: 0.75rem;
.gap-5gap: 1rem;
.gap-6gap: 1.25rem;
.gap-7gap: 1.5rem;
.gap-8gap: 1.75rem;
.gap-9gap: 2rem;
.gap-10gap: 2.25rem;
.gap-11gap: 2.5rem;
.gap-12gap: 3rem;
.row-gap-0row-gap: 0;
.row-gap-1row-gap: 0.25rem;
.row-gap-2row-gap: 0.375rem;
.row-gap-3row-gap: 0.5rem;
.row-gap-4row-gap: 0.75rem;
.row-gap-5row-gap: 1rem;
.row-gap-6row-gap: 1.25rem;
.row-gap-7row-gap: 1.5rem;
.row-gap-8row-gap: 1.75rem;
.row-gap-9row-gap: 2rem;
.row-gap-10row-gap: 2.25rem;
.row-gap-11row-gap: 2.5rem;
.row-gap-12row-gap: 3rem;
.column-gap-0column-gap: 0;
.column-gap-1column-gap: 0.25rem;
.column-gap-2column-gap: 0.375rem;
.列间距-3column-gap: 0.5rem;
.column-gap-4column-gap: 0.75rem;
.column-gap-5column-gap: 1rem;
.column-gap-6column-gap: 1.25rem;
.column-gap-7column-gap: 1.5rem;
.列间距-8column-gap: 1.75rem;
.column-gap-9column-gap: 2rem;
.column-gap-10column-gap: 2.25rem;
.column-gap-11column-gap: 2.5rem;
.column-gap-12column-gap: 3rem;

概览

使用间距工具类来控制 flexbox 和网格布局中子元素之间的间距。间距工具类是基于默认的 Sass map构建的,范围从0到3rem(.gap-0到.gap-12)。使用像.gap-3和.gap-5这样的工具类来控制所有子元素之间的间距:

项目 1
项目 2
项目 1
项目 2
HTML
          <div class="d-flex gap-3">...</div>
<div class="d-flex gap-5">...</div>
        

支持说明:间距工具适用于 CSS 网格和弹性布局。它们是子元素在容器内间距的现代替代方案,相对于使用 margin 工具。

符号

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

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

其中 property 为以下之一:

  • gap - 用于设置 gap 的类
  • row-gap - 用于设置 row-gap 的类
  • column-gap - 用于设置 column-gap 的类

其中 size 为以下之一:

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

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

示例

Flexbox 间距

使用 gap 工具来控制 flexbox 容器中子元素之间的间距:

项目 1
项目 2
项目 3
HTML
          <div class="d-flex gap-4">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
</div>
        

网格间隙

间距工具也适用于 CSS 网格布局:

项目 1
项目 2
项目 3
项目 4
HTML
          <div class="d-grid gap-3" style="grid-template-columns: 1fr 1fr;">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
  <div>Item 4</div>
</div>
        

行和列间隙

使用 row-gap 和 column-gap 工具可独立控制行与列之间的间距:

项目 1
项目 2
项目 3
项目 4
项目 5
项目 6
HTML
          <div class="d-grid row-gap-4 column-gap-2" style="grid-template-columns: 1fr 1fr 1fr;">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
  <div>Item 4</div>
  <div>Item 5</div>
  <div>Item 6</div>
</div>
        

带换行的弹性盒子

你也可以在换行的 flexbox 布局中使用 row-gap 和 column-gap 工具类:

项目 1
项目 2
项目 3
项目 4
项目 5
HTML
          <div class="d-flex flex-wrap row-gap-3 column-gap-2">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
  <div>Item 4</div>
  <div>Item 5</div>
</div>
        

响应式

所有的间隙工具都是响应式的,并包含所有断点。

  • .gap-0 到 .gap-12
  • .sm:gap-0 到 .sm:gap-12
  • .md:gap-0 到 .md:gap-12
  • .lg:gap-0 到 .lg:gap-12
  • .xl:gap-0 到 .xl:gap-12
  • .2xl:gap-0 到 .2xl:gap-12
  • .row-gap-0 到 .row-gap-12
  • .sm:row-gap-0 到 .sm:row-gap-12
  • .md:row-gap-0 到 .md:row-gap-12
  • .lg:row-gap-0 到 .lg:row-gap-12
  • .xl:row-gap-0 到 .xl:row-gap-12
  • .2xl:row-gap-0 到 .2xl:row-gap-12
  • .column-gap-0 到 .column-gap-12
  • .sm:column-gap-0 到 .sm:column-gap-12
  • .md:column-gap-0 到 .md:column-gap-12
  • .lg:column-gap-0 到 .lg:column-gap-12
  • .xl:column-gap-0 到 .xl:column-gap-12
  • .2xl:column-gap-0 到 .2xl:column-gap-12

CSS

Sass 工具 API

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

"gap": (
  responsive: true,
  property: gap,
  class: gap,
  values: $spacers
),
"row-gap": (
  responsive: true,
  property: row-gap,
  class: row-gap,
  values: $spacers
),
"column-gap": (
  responsive: true,
  property: column-gap,
  class: column-gap,
  values: $spacers
),