容器是 Bootstrap 的一个基本构建块,用于在给定的设备或视口内包含、填充和对齐你的内容。
本页目录
它们是如何工作的
容器是 Bootstrap 中最基本的布局元素,并且在使用我们的默认网格系统时是必需的。容器用于包含、填充以及(有时)居中其中的内容。虽然容器可以嵌套,但大多数布局不需要嵌套容器。
Bootstrap 提供三种不同的容器:
.container,在每个响应式断点设置一个max-width.container-{breakpoint},在指定断点之前为width: 100%.container-fluid,在所有断点为width: 100%
下表说明了每个容器的 max-width 在各个断点上与原始的 .container 和 .container-fluid 的比较情况。
在我们的网格示例中查看它们的实际使用情况并进行比较。
| 特小 <576像素 | 小 ≥576像素 | 中等 ≥768像素 | 大 ≥992像素 | 加大 ≥1200像素 | 加大 ≥1400像素 | |
|---|---|---|---|---|---|---|
.container | 100% | 540px | 720px | 960px | 1140px | 1320px |
.container-sm | 100% | 540px | 720px | 960px | 1140px | 1320px |
.container-md | 100% | 100% | 720px | 960px | 1140px | 1320px |
.container-lg | 100% | 100% | 100% | 960px | 1140px | 1320px |
.container-xl | 100% | 100% | 100% | 100% | 1140px | 1320px |
.container-xxl | 100% | 100% | 100% | 100% | 100% | 1320px |
.container-fluid | 100% | 100% | 100% | 100% | 100% | 100% |
默认容器
我们默认的 .container 类是一个响应式固定宽度容器,这意味着它的 max-width 会在每个断点变化。
<div class="container">
<!-- Content here -->
</div>
响应式容器
响应式容器允许你指定一个类,该类在达到指定的断点之前宽度为100%,之后我们将对每个更高的断点应用max-width。例如,.container-sm起初宽度为100%,直到达到sm断点,此时它会随着md、lg、xl和xxl进行缩放。
<div class="container-sm">100% wide until small breakpoint</div>
<div class="container-md">100% wide until medium breakpoint</div>
<div class="container-lg">100% wide until large breakpoint</div>
<div class="container-xl">100% wide until extra large breakpoint</div>
<div class="container-xxl">100% wide until extra extra large breakpoint</div>
流式容器
使用.container-fluid创建一个全宽容器,跨越整个视口的宽度。
<div class="container-fluid">
...
</div>
CSS
Sass 变量
如上所示,Bootstrap 生成了一系列预定义的容器类,以帮助你构建所需的布局。你可以通过修改驱动它们的 Sass 映射(位于 _variables.scss)来自定义这些预定义的容器类:
$container-max-widths: (
sm: 540px,
md: 720px,
lg: 960px,
xl: 1140px,
xxl: 1320px
);
有关如何修改我们的 Sass 映射和变量的更多信息和示例,请参阅网格文档中的 Sass 部分。
Sass mixin
除了自定义 Sass,你还可以使用我们的 Sass mixin创建自己的容器。
// Source mixin
@mixin make-container($padding-x: $container-padding-x) {
width: 100%;
padding-right: $padding-x;
padding-left: $padding-x;
margin-right: auto;
margin-left: auto;
}
// Usage
.custom-container {
@include make-container();
}