Bootstrap4 网格系统

网格系统的重要性

Bootstrap 4 的网格系统是其最强大的功能之一,使用 Flexbox 构建,允许您创建各种复杂的响应式布局。掌握网格系统是高效使用 Bootstrap 的关键。

网格系统概述

Bootstrap 4 网格系统是一个基于 Flexbox 的12列布局系统,具有6个响应断点。它使用容器、行和列来布局和对齐内容。

网格系统核心概念
容器 (Container)

布局的最外层元素,用于包裹整个网格系统。

行 (Row)

用于包装一组列的水平容器,确保列正确对齐。

列 (Column)

内容的主要容器,网格系统基于12列布局。

网格类详解

Bootstrap 4 提供了多种网格类,用于在不同屏幕尺寸下创建响应式布局。

网格类命名规则

Bootstrap 4 网格类遵循以下命名模式:.col-{breakpoint}-{columns}

  • breakpoint: 断点标识 (xs, sm, md, lg, xl)
  • columns: 列数 (1-12)
断点说明:
断点 类前缀 屏幕宽度 描述
Extra small .col- <576px 手机竖屏
Small .col-sm- ≥576px 手机横屏
Medium .col-md- ≥768px 平板电脑
Large .col-lg- ≥992px 小型桌面
Extra large .col-xl- ≥1200px 大型桌面

基本网格示例

以下是一些基本的网格布局示例,展示了如何使用网格类创建不同的布局。

等宽列

使用 .col 类创建等宽的列:

<div class="container">
  <div class="row">
    <div class="col">列 1</div>
    <div class="col">列 2</div>
    <div class="col">列 3</div>
  </div>
</div>
列 1
列 2
列 3
指定宽度的列

使用 .col-{number} 类创建指定宽度的列:

<div class="container">
  <div class="row">
    <div class="col-8">8列宽</div>
    <div class="col-4">4列宽</div>
  </div>
</div>
8列宽
4列宽
响应式网格

使用响应式网格类在不同屏幕尺寸下创建不同的布局:

<div class="container">
  <div class="row">
    <div class="col-md-8">在中等屏幕及以上占8列</div>
    <div class="col-md-4">在中等屏幕及以上占4列</div>
  </div>
</div>

在中等屏幕(≥768px)及以上,布局为8:4比例;在较小屏幕上,列将垂直堆叠。

高级网格功能

列偏移

使用 .offset-{breakpoint}-{columns} 类来偏移列:

<div class="container">
  <div class="row">
    <div class="col-md-4">4列宽</div>
    <div class="col-md-4 offset-md-4">4列宽,偏移4列</div>
  </div>
</div>
4列宽
4列宽,偏移4列
列排序

使用 .order-{breakpoint}-{number} 类来改变列的顺序:

<div class="container">
  <div class="row">
    <div class="col order-2">第一列,但显示在第二位置</div>
    <div class="col order-1">第二列,但显示在第一位置</div>
  </div>
</div>
第一列,但显示在第二位置
第二列,但显示在第一位置
嵌套网格

在列内嵌套额外的行和列来创建更复杂的布局:

<div class="container">
  <div class="row">
    <div class="col-sm-9">
      外层列
      <div class="row">
        <div class="col-8 col-sm-6">内层列 1</div>
        <div class="col-4 col-sm-6">内层列 2</div>
      </div>
    </div>
  </div>
</div>
外层列
内层列 1
内层列 2

实用示例

以下是一个常见的网站布局示例,展示了网格系统的实际应用:

常见网站布局
<div class="container">
  <!-- 页眉 -->
  <div class="row">
    <div class="col">
      <header>网站页眉</header>
    </div>
  </div>

  <!-- 主要内容区 -->
  <div class="row">
    <!-- 侧边栏 -->
    <div class="col-md-3">
      <aside>侧边栏</aside>
    </div>

    <!-- 主内容 -->
    <div class="col-md-6">
      <main>主内容区域</main>
    </div>

    <!-- 右侧栏 -->
    <div class="col-md-3">
      <aside>右侧栏</aside>
    </div>
  </div>

  <!-- 页脚 -->
  <div class="row">
    <div class="col">
      <footer>网站页脚</footer>
    </div>
  </div>
</div>
网站页眉
主内容区域
网站页脚

最佳实践

网格系统使用建议
  • 始终将列放在行内,将行放在容器内
  • 使用响应式断点类来创建移动优先的布局
  • 列的总和不应超过12,超出的列将换行显示
  • 合理使用偏移和排序功能来创建复杂布局
  • 在需要时使用嵌套网格来组织复杂内容
  • 利用Flexbox工具类来对齐和分布内容

掌握网格系统!

恭喜!您已经学习了Bootstrap 4网格系统的核心概念和功能。网格系统是Bootstrap布局的基础,掌握它将帮助您创建各种响应式网页布局。

继续学习下一章:Bootstrap 4 排版