您当前的位置:首页 > bootstrap > bootstrap4知识

bootstrap4知识-Bootstrap4 网格系统

时间:2020-02-23 06:42:53    来源:    作者:

Bootstrap 提供了一套响应式、移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多 12 列。

我们也可以根据自己的需要,定义列数:

1 1 1 1 1 1 1 1 1 1 1 1
4 4 4
4 8
6 6
12

Bootstrap 4 的网格系统是响应式的,列会根据屏幕大小自动重新排列。


网格类

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

网格系统规则

Bootstrap4 网格系统规则:

下表总结了 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 网格的基本结构

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

Bootstrap4 网格基本结构

------------------------------------------------------------------------------------------
<!-- 第一个例子:控制列的宽度及在不同的设备上如何显示 -->
<div class="row">
   <div class="col-*-*"> </div>
</div>
<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>
----------------------------------------------------------------------------------------

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

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

接下来我们可以看看实例。

创建相等宽度的列,Bootstrap 自动布局

实例

---------------------------------------------------------------------------------------------------------------------
<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>
-----------------------------------------------------

平板和桌面端

以下实例演示了在桌面设备的显示器上两个列的宽度各占 50%,如果在平板端则左边的宽度为 25%,右边的宽度为 75%, 在移动手机等小型设备上会堆叠显示。

实例

--------------------------------------------------------------------------------------------------------
<div class="container-fluid">
   <div class="row">
       <div class="col-sm-3 col-md-6"> <p>RUNOOB</p> </div>
        <div class="col-sm-9 col-md-6"> <p>菜鸟教程</p> </div>
    </div>
</div>
---------------------------------------------------------------------------------------------------------

平板、桌面、大桌面显示器、超大桌面显示器

以下实例在平板、桌面、大桌面显示器、超大桌面显示器的宽度比例为分别为:25%/75%、50%/50%、33.33%/66.67%、16.67/83.33%, 在移动手机等小型设备上会堆叠显示。

实例

--------------------------------------------------------------------------------------------------------------
<div class="container-fluid">
   <div class="row">
      <div class="col-sm-3 col-md-6 col-lg-4 col-xl-2"> <p>RUNOOB</p> </div>
      <div class="col-sm-9 col-md-6 col-lg-8 col-xl-10"> <p>菜鸟教程</p> </div>
    </div>
</div>
---------------------------------------------------------------------------------------------------------------

偏移列

偏移列通过 offset-*-* 类来设置。第一个星号( * )可以是 sm、md、lg、xl,表示屏幕设备类型,第二个星号( * )可以是 1 到 11 的数字。

为了在大屏幕显示器上使用偏移,请使用 .offset-md-* 类。这些类会把一个列的左外边距(margin)增加 * 列,其中 * 范围是从 1 到 11

例如:.offset-md-4 是把.col-md-4 往右移了四列格。

实例

----------------------------------------------------------------------------------------------------------------------------------------------------
<div class="row">
    <div class="col-md-4">.col-md-4</div>
    <div class="col-md-4 offset-md-4">.col-md-4 .offset-md-4</div>
</div>
<div class="row">
     <div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
     <div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
</div>
<div class="row">
    <div class="col-md-6 offset-md-3">.col-md-6 .offset-md-3</div>
</div>
-----------------------------------------------------------------------------------------------------------------------------------------------------
 
推荐资讯