Bootstrap CSS 概览

Bootstrap 的 CSS 是其核心部分,提供了一套强大的样式工具,用于快速构建响应式、现代化的网页界面。以下是对 Bootstrap CSS 的中文概览,重点介绍其关键特性、常用功能和使用方式,适合初学者和需要快速参考的开发者。截至 2025 年 10 月,Bootstrap 的最新版本为 5.3.3,以下内容基于此版本。


1. Bootstrap CSS 核心概述

Bootstrap CSS 是一套预定义的样式规则,基于 CSS 和 Sass,提供了:

  • 响应式设计:通过网格系统和媒体查询支持多种设备。
  • 组件样式:包括按钮、表单、卡片、导航栏等,统一美观。
  • 工具类(Utilities):快速调整布局、间距、颜色等。
  • 移动优先:默认样式针对小屏幕优化,并通过断点适配大屏幕。

Bootstrap CSS 的设计目标是简化前端开发,提供一致的视觉风格,同时保持高度可定制性。


2. 核心组成部分

(1) 响应式网格系统

Bootstrap 的网格系统基于 12 列布局,使用 Flexbox 实现,适合创建灵活的响应式布局。

  • 基本用法
  <div class="container">
    <div class="row">
      <div class="col-md-6">左侧内容</div>
      <div class="col-md-6">右侧内容</div>
    </div>
  </div>
  • 断点:支持 6 个响应式断点,适配不同屏幕尺寸:
  • xs(<576px):超小屏幕(如手机)
  • sm(≥576px):小屏幕
  • md(≥768px):中等屏幕
  • lg(≥992px):大屏幕
  • xl(≥1200px):超大屏幕
  • xxl(≥1400px):特大屏幕
  • 类名
  • .col-*:自动分配列宽。
  • .col-md-*:指定中等屏幕及以上列宽(如.col-md-6占6列)。
  • .offset-md-*:设置列偏移。
  • .g-*:调整列间距(gutter)。

(2) 排版(Typography)

Bootstrap 提供统一的文字样式,优化可读性和视觉层次:

  • 标题.h1.h6 类,统一标题样式。
  <h1 class="h3">三级标题样式</h1>
  • 文本工具类
  • 字体大小:.fs-1.fs-6
  • 文本对齐:.text-start.text-center.text-end
  • 文本颜色:.text-primary.text-success 等。
  • 其他:支持.lead(突出段落)、.text-muted(次要文本)等。

(3) 颜色系统

Bootstrap 定义了一套主题颜色,用于按钮、背景、文本等:

  • 主题色primarysecondarysuccessdangerwarninginfolightdark
  • 用法
  <button class="btn btn-primary">主按钮</button>
  <div class="bg-success text-white">绿色背景</div>
  • 定制:通过 Sass 变量(如$primary)修改颜色。

(4) 组件样式

Bootstrap 提供了大量预定义组件样式,包括:

  • 按钮(Buttons)
  <button class="btn btn-primary">主按钮</button>
  <button class="btn btn-outline-secondary">描边按钮</button>

支持尺寸(.btn-lg.btn-sm)和状态(.active.disabled)。

  • 表单(Forms)
  • 输入框:.form-control
  • 选择框:.form-select
  • 验证样式:.is-valid.is-invalid
  <input type="text" class="form-control" placeholder="输入内容">
  • 卡片(Cards)
  <div class="card">
    <div class="card-body">
      <h5 class="card-title">卡片标题</h5>
      <p class="card-text">卡片内容</p>
    </div>
  </div>
  • 导航栏(Navbar)
    支持响应式导航,结合data-bs-toggle实现折叠:
  <nav class="navbar navbar-expand-lg bg-light">
    <div class="container-fluid">
      <a class="navbar-brand" href="#">品牌</a>
      <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
        <span class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse" id="navbarNav">
        <ul class="navbar-nav">
          <li class="nav-item">
            <a class="nav-link active" href="#">首页</a>
          </li>
        </ul>
      </div>
    </div>
  </nav>

(5) 工具类(Utilities)

Bootstrap 提供大量工具类,用于快速调整样式:

  • 间距(Spacing)
  • 格式:{property}{sides}-{size}
  • 示例:m-3(全方向外边距)、py-2(上下内边距)。
  • 尺寸:0(0)、1(0.25rem)、2(0.5rem)等,最高到5
  • 显示(Display)
  • .d-none:隐藏元素。
  • .d-flex:弹性布局。
  • .d-block:块级元素。
  • 定位(Position)
  • .position-relative.position-absolute.fixed-top
  • Flexbox
  • .flex-row.justify-content-center.align-items-start
  • 其他:边框(.border)、圆角(.rounded)、阴影(.shadow)等。

3. 响应式设计

Bootstrap 的 CSS 内置响应式功能,通过断点类实现:

  • 断点前缀:在类名前加sm-md-等,控制特定屏幕尺寸的样式。
  <div class="col-12 col-md-6 col-lg-4">响应式列</div>
  • 上例中:小屏幕占12列,中等屏幕占6列,大屏幕占4列。
  • 显示控制
  <div class="d-none d-md-block">仅在中等及以上屏幕显示</div>

4. 定制 Bootstrap CSS

Bootstrap 使用 Sass 编写,允许通过修改变量和 mixins 定制样式:

  1. 安装 Sass
   npm install bootstrap sass
  1. 创建自定义 SCSS 文件
   // 自定义变量
   $primary: #ff5733;
   $border-radius: 0.5rem;

   // 导入 Bootstrap
   @import "node_modules/bootstrap/scss/bootstrap";
  1. 编译 SCSS
    使用 Sass 编译器生成 CSS:
   npx sass custom.scss custom.css
  1. 引入编译后的 CSS
   <link href="custom.css" rel="stylesheet">

5. 使用技巧与注意事项

  • 精简 CSS:使用 PurgeCSS 或仅导入需要的 Bootstrap 模块(如@import "bootstrap/scss/grid";),减少文件大小。
  • 浏览器兼容性:Bootstrap 5 支持现代浏览器(Chrome、Firefox、Safari、Edge),不支持 IE。
  • 类优先级:Bootstrap 的类名可能被自定义 CSS 覆盖,注意选择器优先级。
  • 调试:使用浏览器开发者工具检查应用样式,确保类名正确。

6. 快速示例

以下是一个结合网格、按钮和工具类的简单页面:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Bootstrap CSS 示例</title>
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
  <div class="container my-4">
    <h1 class="text-center text-primary">Bootstrap CSS 示例</h1>
    <div class="row g-3">
      <div class="col-md-6">
        <div class="card shadow-sm">
          <div class="card-body">
            <h5 class="card-title">卡片 1</h5>
            <p class="card-text">使用网格和卡片组件。</p>
            <button class="btn btn-success">点击</button>
          </div>
        </div>
      </div>
      <div class="col-md-6">
        <div class="card shadow-sm">
          <div class="card-body">
            <h5 class="card-title">卡片 2</h5>
            <p class="card-text">响应式布局,适配移动端。</p>
            <button class="btn btn-outline-primary">查看</button>
          </div>
        </div>
      </div>
    </div>
  </div>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

7. 学习资源

  • 官方文档:https://getbootstrap.com/docs/5.3/content/typography/
  • 中文教程:https://www.bootcss.com/(非官方)
  • X 平台:搜索“Bootstrap CSS”或“Bootstrap 教程”,获取社区分享的代码片段和技巧。

如果你需要深入讲解某个 CSS 模块(如网格系统、表单样式)或具体实现某个效果,请告诉我,我可以提供更详细的代码示例或指导!

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注