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 定义了一套主题颜色,用于按钮、背景、文本等:
- 主题色:
primary
、secondary
、success
、danger
、warning
、info
、light
、dark
。 - 用法:
<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 定制样式:
- 安装 Sass:
npm install bootstrap sass
- 创建自定义 SCSS 文件:
// 自定义变量
$primary: #ff5733;
$border-radius: 0.5rem;
// 导入 Bootstrap
@import "node_modules/bootstrap/scss/bootstrap";
- 编译 SCSS:
使用 Sass 编译器生成 CSS:
npx sass custom.scss custom.css
- 引入编译后的 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 模块(如网格系统、表单样式)或具体实现某个效果,请告诉我,我可以提供更详细的代码示例或指导!