让我们简化 Bootstrap!
请注意 col-sm 如何占据576px 下面的 100% 宽度(换句话说,换行),但 col 没有。您可以在 gif 中注意到顶部中心的当前宽度。
代码来了:
<div class="container">
<div class="row">
<div class="col">col</div>
<div class="col">col</div>
<div class="col">col</div>
</div>
<div class="row">
<div class="col-sm">col-sm</div>
<div class="col-sm">col-sm</div>
<div class="col-sm">col-sm</div>
</div>
</div>
默认情况下,Bootstrap 将所有 列(col) 对齐在一个 row 中,宽度相等。在这种情况下,无论屏幕尺寸如何,三个col 将分别占据 100%/3 的宽度。您可以在 gif 中注意到这一点。
现在,如果我们只想每行渲染一列,即为每一列赋予 100% 的宽度,但仅适用于较小的屏幕,该怎么办?现在是col-xx 课程!
我使用 col-sm 是因为我想将列分成 576 像素以下的单独行。这 4 个col-xx 类由 Bootstrap 为不同的显示设备提供,如手机、平板电脑、笔记本电脑、大显示器等。
所以,col-sm 会低于 576 像素,col-md 会低于 768 像素,col-lg 会低于 992 像素,col-xl 会低于 1200 像素
请注意,引导程序 4 中没有 col-xs 类。
这几乎是总结。你可以回去工作了。
但还有更多。现在来了 col-* 和 col-xx-* 用于自定义宽度。
请记住,在上面的示例中,我提到 col 或 col-xx 在一行中采用相等的宽度。因此,如果我们想为特定的col 提供更大的宽度,我们可以这样做。
引导行被分成 12 个部分,所以在上面的例子中有 3 个col,所以每个占 12/3 = 4 个部分。您可以将这些部分视为测量宽度的一种方式。
我们也可以这样写成col-*,即col-4:
<div class="row">
<div class="col-4">col</div>
<div class="col-4">col</div>
<div class="col-4">col</div>
</div>
这不会有任何区别,因为默认情况下,引导程序给出的宽度与 col (4 + 4 + 4 = 12) 相等。
但是,如果我们想将 7 个部分分配给第 1 个 col,将 3 个部分分配给第 2 个 col,然后将 2 个部分 (12-7-3 = 2) 分配给第 3 个 col(7+3+2所以总共是 12),我们可以简单地这样做:
<div class="row">
<div class="col-7">col-7</div>
<div class="col-3">col-3</div>
<div class="col-2">col-2</div>
</div>
您还可以自定义col-xx-* 类的宽度。
<div class="row">
<div class="col-sm-7">col-sm-7</div>
<div class="col-sm-3">col-sm-3</div>
<div class="col-sm-2">col-sm-2</div>
</div>
它在动作中看起来如何?
如果col 的总和大于 12 怎么办?然后col 将移动/调整到下一行。是的,一行可以有任意数量的列!
<div class="row">
<div class="col-12">col-12</div>
<div class="col-9">col-9</div>
<div class="col-6">col-6</div>
<div class="col-6">col-6</div>
</div>
如果我们希望大屏幕连续显示 3 列,而小屏幕将这些列分成 2 行,该怎么办?
<div class="row">
<div class="col-12 col-sm">col-12 col-sm TOP</div>
<div class="col col-sm">col col-sm</div>
<div class="col col-sm">col col-sm</div>
</div>
你可以在这里玩:https://jsfiddle.net/JerryGoyal/6vqno0Lm/