Bootstrap基础教程
上QQ阅读APP看书,第一时间看更新

2.3.3 等宽列

1.基本用法

Bootstrap 4的栅格系统基于flexbox,既可以使用不带数字的.col-X(X为sm、md、lg或xl)类,来设置对应设备上的等宽列;也可以不带设备宽度前缀.col类,设置所有设备上的等宽列。

【实例2-2】(文件 equalgrid.html)(以下为body标签里面的内容,其他与修改后的【实例2-1】相同)

<div class="container">
  <!--大于等于576px时 3个等分列-->
  <div class="row">
      <div class="col-sm">1/3</div>
      <div class="col-sm">1/3</div>
      <div class="col-sm">1/3</div>
  </div>
  <!--所有设备上3个等分列-->
  <div class="row">
      <div class="col">1/3</div>
      <div class="col">1/3</div>
      <div class="col">1/3</div>
</div>
</div>

以上代码在Chrome浏览器中的运行效果如图2-7所示。

图2-7 等宽列

2.多行等宽列

等宽列可以设置添加“.w-100”为多行等宽。但这里存在一个 Safari的flexbox缺陷,如果没有明确的flex-basis或 border的话,则可能无法工作。不过,如果浏览器是最新版本的,则不存在这个问题。

【实例2-3】(文件equalgrid-mline.html)

<div class="row">
    <div class="col">列</div>
    <div class="col">列</div>
    <div class="w-100"></div>
    <div class="col">列</div>
    <div class="col">列</div>
</div>
<div class="row">
    <div class="col">列</div>
    <div class="col">列</div>
    <div class="w-100 d-none d-md-block"></div>
    <div class="col">列</div>
    <div class="col">列</div>
</div>

以上代码在Chrome浏览器中的运行效果如图2-8所示。

图2-8 多行等宽列

说明:其中,第2行通过.d-none、.d-md-block类的配合使用,当设置设备宽度为中屏时,换新行。

3.设置一列宽度

设定一列宽度,其他列等宽。

【实例2-4】(文件equalgrid-one.html)

<div class="container">
      <div class="row">
      <div class="col">第1列</div>
      <div class="col">第2列</div>
      <div class="col-6">第 3列(指定宽度)</div>
      <div class="col">第4列</div>
      </div>
</div>

以上代码在Chrome浏览器中的运行效果如图2-9所示。

图2-9 指定列宽与等宽结合