Bootstrap 4 网格系统

Bootstrap 4 网格系统

Bootstrap 的网格系统允许页面上最多12列。

如果不想单独使用所有 12 列,可以将这些列组合在一起以创建更宽的列:

跨度 1 跨度 1 跨度 1 跨度 1 跨度 1 跨度 1 跨度 1 跨度 1 跨度 1 跨度 1 跨度 1 跨度 1
跨度 4 跨度 4 跨度 4
跨度 4 跨度 8
跨度 6 跨度 6
跨度 12

Bootstrap 的网格系统是响应式的,列会根据屏幕大小自动重新排列。在大屏幕上,将内容组织成三列可能会更好,在小屏幕上,内容项组织成一列效果会更好。


Grid 网格类

Bootstrap 4 网格系统有以下 5 个类:

  • .col- 手机 - 屏幕宽度小于 576px
  • .col-sm- 平板 - 屏幕宽度等于或大于 576px
  • .col-md- 桌面显示器 - 屏幕宽度等于或大于 768px
  • .col-lg- 大桌面显示器 - 屏幕宽度等于或大于 992px
  • .col-xl- 特大桌面显示器 - 屏幕宽度等于或大于 1200px

可以将上面的类组合起来创建更具动态性和灵活性的布局。

提示: 每个类都会向上扩展,因此如果您想为 smmd 设置相同的宽度,只需指定 sm即可。


网格系统规则

Bootstrap4 网格系统规则:

  • 网格每一行需要放在设置了 .container (固定宽度) 或 .container-fluid (全屏宽度) 类的容器中,这样就可以自动设置一些外边距与内边距。
  • 使用行来创建水平的列组。
  • 内容需要放置在列中,并且只有列可以是行的直接子节点。
  • 预定义的类如 .row.col-sm-4 可用于快速制作网格布局。
  • 列通过填充创建列内容之间的间隙。 这个间隙是通过 .rows 类上的负边距设置第一行和最后一列的偏移。
  • 网格列是通过跨越指定的 12 个列来创建。 例如,设置三个相等的列,需要使用用三个.col-sm-4 来设置。
  • Bootstrap 3 和 Bootstrap 4 最大的区别在于 Bootstrap 4 现在使用 flexbox(弹性盒子) 而不是浮动。Flexbox 的一大优势是,没有指定宽度的网格列将自动设置为等宽与等高列 。 如果您想了解有关Flexbox的更多信息,可以阅读我们的 CSS Flexbox 教程

请注意,Flexbox 在 IE9 及早期版本中不受支持。

如果您需要IE8-9支持,请使用 Bootstrap 3 。它是 Bootstrap 最稳定的版本,对于关键的错误修复和文档更改,团队仍然支持它。但是,不会向其添加任何新功能。



Bootstrap 4 网格的基本结构

以下代码为 Bootstrap 4 网格的基本结构:

<!-- 控制列宽,以及它们在不同设备上的显示方式 -->
<div class="row">
  <div class="col-*-*"></div>
  <div class="col-*-*"></div>
  <div class="col-*-*"></div>
</div>

<!-- 或者让 Bootstrap 自动处理布局 -->
<div class="row">
  <div class="col"></div>
  <div class="col"></div>
  <div class="col"></div>
  <div class="col"></div>
</div>
亲自试一试 »

第一个例子:创建一行 (<div class="row">)。然后, 添加是需要的列 (.col-*-* 类中设置)。 第一个星号 (*) 表示响应的设备: sm, md, lg 或 xl, 第二个星号 (*) 表示一个数字, 同一行的数字相加为 12。

第二个例子: 不在每个 col上添加数字,让 bootstrap 自动处理布局,同一行的每个列宽度相等 两个 "col" ,每个就为 50% 的宽度。三个 "col"每个就为 33.33% 的宽度,四个 "col"每个就为 25% 的宽度,以此类推。同样,你可以使用 .col-sm|md|lg|xl 来设置列的响应规则。


网格选项

下表总结了 Bootstrap 4 网格系统在不同屏幕尺寸下的工作原理:

  超小设备 (<576px) 小型设备 (>=576px) 中型设备 (>=768px) 大型设备 (>=992px) 特大设备 (>=1200px)
Class 前缀 .col- .col-sm- .col-md- .col-lg- .col-xl-
网格行为 始终保持水平 以折叠开始,断点以上是水平的 以折叠开始,断点以上是水平的 以折叠开始,断点以上是水平的 以折叠开始,断点以上是水平的
最大容器宽度 None (auto) 540px 720px 960px 1140px
适用于 Portrait phones Landscape phones 平板电脑 笔记本电脑 笔记本电脑和台式机
# 列数 12 12 12 12 12
间隙宽度 30px (每列两侧各 15px) 30px (每列两侧各 15px)) 30px (每列两侧各 15px)) 30px (每列两侧各 15px)) 30px (每列两侧各 15px))
可嵌套 Yes Yes Yes Yes Yes
偏移量 Yes Yes Yes Yes Yes
列排序 Yes Yes Yes Yes Yes

实例

下一章将展示不同设备和屏幕宽度的网格系统实例: