间距
Bootstrap 包含各种响应式快捷边距和填充实用工具类,用于修改元素的外观。
工作原理
使用快捷类为元素或其部分边分配响应式友好型 margin 或 padding 值。包括对单个属性、所有属性以及垂直和水平属性的支持。这些类基于一个默认 Sass 映射构建,范围从 .25rem 到 3rem。
符号
适用于所有断点(从 xs 到 xl)的间距实用工具类中没有断点缩写。这是因为这些类从 min-width: 0 开始应用,因此不受媒体查询的约束。然而,其余断点确实包含断点缩写。
这些类使用以下格式命名:{property}{sides}-{size}(用于 xs)和 {property}{sides}-{breakpoint}-{size}(用于 sm、md、lg 和 xl)。
其中 property 为以下之一:
m- 用于设置margin的类p- 用于设置padding的类
其中 sides 为以下之一:
t- 用于设置margin-top或padding-top的类b- 用于设置margin-bottom或padding-bottom的类l- 用于设置margin-left或padding-left的类r- 用于设置margin-right或padding-right的类x- 用于同时设置*-left和*-right的类y- 用于同时设置*-top和*-bottom的类- 空白 - 用于在元素的所有 4 个侧面设置
margin或padding的类
其中 size 为以下之一:
0- 用于通过将其设置为0来消除margin或padding的类1- (默认)用于将margin或padding设置为$spacer * .25的类2- (默认)用于将margin或padding设置为$spacer * .5的类3- (默认)用于将margin或padding设置为$spacer的类4- (默认)用于将margin或padding设置为$spacer * 1.5的类5- (默认)用于将margin或padding设置为$spacer * 3的类auto- 用于将margin设置为 auto 的类
(可以通过向 $spacers Sass 映射变量添加条目来添加更多大小。)
示例
以下是这些类的几个代表性示例
.mt-0 {
margin-top: 0 !important;
}
.ml-1 {
margin-left: ($spacer * .25) !important;
}
.px-2 {
padding-left: ($spacer * .5) !important;
padding-right: ($spacer * .5) !important;
}
.p-3 {
padding: $spacer !important;
}
水平居中
此外,Bootstrap 还包括一个 .mx-auto 类,用于通过将水平边距设置为 auto 来水平居中固定宽度的块级内容,即具有 display: block 和设置的 width 的内容。
<div class="mx-auto" style="width: 200px;">
Centered element
</div>
负边距
在 CSS 中,margin 属性可以使用负值(padding 不行)。从 4.2 开始,我们为上面列出的每个非零整数大小(例如,1、2、3、4、5)添加了负边距实用工具。这些实用工具非常适合在断点处自定义网格列间距。
语法几乎与默认正边距实用工具相同,但请求的大小前加了 n。以下是一个与 .mt-1 相反的示例类
.mt-n1 {
margin-top: -0.25rem !important;
}
以下是如何在中号 (md) 断点及以上自定义 Bootstrap 网格的示例。我们使用 .px-md-5 增加 .col 填充,然后在父 .row 上使用 .mx-md-n5 来抵消它。
<div class="row mx-md-n5">
<div class="col px-md-5"><div class="p-3 border bg-light">Custom column padding</div></div>
<div class="col px-md-5"><div class="p-3 border bg-light">Custom column padding</div></div>
</div>