📜  Bootstrap-网格系统(1)

📅  最后修改于: 2023-12-03 15:13:42.029000             🧑  作者: Mango

Bootstrap 网格系统

Bootstrap 网格系统是 Bootstrap 的核心组件之一,它可以帮助我们快速创建响应式的网页布局。本文将介绍 Bootstrap 网格系统的基本原理、用法和实例。

基本原理

Bootstrap 网格系统是采用 12 栅格布局,将页面划分成 12 列,并通过 CSS 样式控制每列的大小和位置。每列之间有一定的 间隔(gutter),间隔的大小由根据设备大小不同而调整。

为了实现响应式布局,Bootstrap 网格系统通过 媒体查询(media query) 来控制不同设备尺寸下的栅格布局。当用户使用不同设备访问页面时,页面的布局和显示效果可以根据设备的尺寸和屏幕方向自动调整。

用法

Bootstrap 网格系统的用法非常简单,只需要使用 容器(.container 或 .container-fluid)行(.row) 和 **列(.col- 这几个 CSS 类即可。

首先,在 HTML 文件中需要使用容器元素来包裹网页内容,以此建立网格系统。通常情况下,我们使用 .container 来创建一个固定宽度的容器,也可以使用 .container-fluid 创建一个全屏宽度的容器。

<div class="container">
  <!-- 网页内容 -->
</div>

在容器内部,我们使用 .row 来创建一行网格布局。每一行网格布局包含若干个列,每个列使用 .col-* 命名规则指定其所占栅格数。

<div class="container">
  <div class="row">
    <div class="col-sm-6">左侧内容</div>
    <div class="col-sm-6">右侧内容</div>
  </div>
  <div class="row">
    <div class="col-md-4">左侧内容</div>
    <div class="col-md-4">中间内容</div>
    <div class="col-md-4">右侧内容</div>
  </div>
</div>

在这个例子中,我们创建了两个行和五个列。第一个行包含两个列,每个列占据一半的宽度,左右各占一列;第二个行包含三个列,每个列占据三分之一的宽度,左中右侧各占一列。在各个设备尺寸下,这些列会自动调整大小和位置,以适应不同的屏幕显示效果。

实例

下面给出几个实例,展示网格系统在不同场景下的用法。

示例一:分组控件

在表单中,我们通常使用 Bootstrap 网格系统将表单控件(如输入框、下拉框等)分组显示。下面的代码演示了如何将表单分为两组,左侧放置输入框,右侧放置按钮。

<div class="container">
  <form>
    <div class="row">
      <div class="col-sm-8">
        <div class="form-group">
          <label for="exampleInputEmail1">Email 地址</label>
          <input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="请输入您的 Email">
        </div>
      </div>
      <div class="col-sm-4">
        <button type="submit" class="btn btn-primary btn-block">搜索</button>
      </div>
    </div>
  </form>
</div>
示例二:响应式导航栏

在页面顶部,我们通常使用导航栏组件来显示网站的主要菜单。下面的代码演示了如何使用 Bootstrap 网格系统创建一个响应式导航栏,适应不同的屏幕尺寸。

<nav class="navbar navbar-expand-sm navbar-dark bg-dark">
  <div class="container">
    <a class="navbar-brand" href="#">我的网站</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="切换导航">
      <span class="navbar-toggler-icon"></span>
    </button>

    <div class="collapse navbar-collapse" id="navbarSupportedContent">
      <ul class="navbar-nav mr-auto">
        <li class="nav-item active">
          <a class="nav-link" href="#">首页</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">产品</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">关于我们</a>
        </li>
      </ul>
    </div>
  </div>
</nav>
示例三:网格相册

在照片墙或相册展示页面中,我们可以使用 Bootstrap 网格系统将照片组织为若干行若干列的网格布局。下面的代码演示了如何创建一个简单的网格相册。

<div class="container">
  <div class="row">
    <div class="col-sm-6 col-md-4">
      <img src="https://picsum.photos/id/1015/400/400" alt="">
    </div>
    <div class="col-sm-6 col-md-4">
      <img src="https://picsum.photos/id/1020/400/400" alt="">
    </div>
    <div class="col-sm-6 col-md-4">
      <img src="https://picsum.photos/id/1002/400/400" alt="">
    </div>
    <div class="col-sm-6 col-md-4">
      <img src="https://picsum.photos/id/1011/400/400" alt="">
    </div>
    <div class="col-sm-6 col-md-4">
      <img src="https://picsum.photos/id/1019/400/400" alt="">
    </div>
    <div class="col-sm-6 col-md-4">
      <img src="https://picsum.photos/id/1021/400/400" alt="">
    </div>
  </div>
</div>
总结

Bootstrap 网格系统是一个非常强大而灵活的网页布局工具,可以帮助我们快速实现响应式布局。通过掌握网格系统的基本原理和用法,我们可以轻松创建出漂亮而高效的网页。