Bootstrap 4 采用移动优先的设计原则,提供了一套响应式的流式网格系统
采用 Bootstrap 4 设计的页面会随着屏幕或视口 (viewport )尺寸的增加,系统会自动分为最多 12 列
当然,我们也可以根据自己的需要,重新定义列数目
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
4 | 4 | 4 | |||||||||
4 | 8 | ||||||||||
6 | 6 | ||||||||||
12 |
Bootstrap 4 网格系统有以下 5 个类
上面这些 CSS 类可以一起使用,从而创建更灵活的页面布局
下表列出 Bootstrap 网格系统如何跨多个设备工作
超小设备 < 576px | 平板 ≥ 576px | 桌面显示器 ≥ 768px | 大桌面显示器 ≥ 992px | 超大桌面显示器 ≥ 1200px | |
容器最大宽度 | None (auto) | 540px | 720px | 960px | 1140px |
类前缀 | .col- | .col-sm- | .col-md- | .col-lg- | .col-xl- |
列数量和 | 12 | ||||
间隙宽度 | 30px (一个列的每边分别 15px) | ||||
可嵌套 | Yes | ||||
列排序 | Yes |
使用 Bootstrap 4 的网格布局的一面一般结构如下
<div class="row">
<div class="col-*-*"></div>
</div>
<div class="row">
<div class="col-*-*"></div>
<div class="col-*-*"></div>
<div class="col-*-*"></div>
</div>
上面的代码先创建一行( <div> )
然后添加是需要的列 (.col-*-* 类中设置)
第一个星号 () 表示响应的设备: sm, md, lg 或 xl
第二个星号 () 表示一个数字, 同一行的数字相加为 12
<div class="row">
<div class="col"></div>
<div class="col"></div>
<div class="col"></div>
</div>
上面的代码不在每个 col 上添加数字,让 bootstrap 自动处理布局,同一行的每个列宽度相等:
以此类推
同样,我们也可以使用 .col-sm|md|lg|xl 来设置列的响应规则
根据上面的解释,我们就可以创建一些常见的页面布局了
<div class="row">
<div class="col">.col</div>
<div class="col">.col</div>
<div class="col">.col</div>
</div>
下面的代码可以在在平板及更大屏幕上创建等宽度的响应式列
在移动设备上,即屏幕宽度小于 576px 时,四个列将会上下堆叠排版
<div class="col-sm-3">.col-sm-3</div>
<div class="col-sm-3">.col-sm-3</div>
<div class="col-sm-3">.col-sm-3</div>
<div class="col-sm-3">.col-sm-3</div>
下面的代码在平板及更大屏幕上创建不等宽度的响应式列
在移动设备上,即屏幕宽度小于 576px 时,四个列将会上下堆叠排版
<div class="row">
<div class="col-sm-4">.col-sm-4</div>
<div class="col-sm-8">.col-sm-8</div>
</div>