Bootstrap 简介 #
什么是 Bootstrap? #
Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架。它由 HTML、CSS 和 JavaScript 组成,提供了丰富的基础组件和强大的栅格系统,帮助开发者快速构建响应式、移动设备优先的网站。
text
┌─────────────────────────────────────────────────┐
│ Bootstrap │
├─────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌──────────┐ │
│ │ HTML │ │ CSS │ │JavaScript│ │
│ │ 结构层 │ │ 样式层 │ │ 行为层 │ │
│ └─────────────┘ └─────────────┘ └──────────┘ │
├─────────────────────────────────────────────────┤
│ ┌─────────────────────────────────────────────┐│
│ │ 栅格系统 + 组件库 ││
│ └─────────────────────────────────────────────┘│
└─────────────────────────────────────────────────┘
Bootstrap 的历史 #
发展历程 #
text
2011年 ─── Bootstrap 诞生
│
│ Twitter 内部项目开源
│ Mark Otto 和 Jacob Thornton 开发
│
2013年 ─── Bootstrap 3 发布
│
│ 移动优先设计
│ 扁平化风格
│ 最广泛使用的版本
│
2018年 ─── Bootstrap 4 发布
│
│ 从 Less 迁移到 Sass
│ Flexbox 布局
│ 改进栅格系统
│
2021年 ─── Bootstrap 5 发布
│
│ 移除 jQuery 依赖
│ CSS 自定义属性
│ 增强的栅格系统
│
至今 ─── 持续更新迭代
版本对比 #
| 特性 | Bootstrap 3 | Bootstrap 4 | Bootstrap 5 |
|---|---|---|---|
| 发布年份 | 2013 | 2018 | 2021 |
| CSS 预处理器 | Less/Sass | Sass | Sass |
| 布局方式 | Float | Flexbox | Flexbox + Grid |
| jQuery 依赖 | 是 | 是 | 否 |
| 栅格断点 | 4 层 | 5 层 | 6 层 |
| RTL 支持 | 否 | 否 | 是 |
| CSS 变量 | 否 | 有限 | 完全支持 |
Bootstrap 的核心特性 #
1. 响应式设计 #
Bootstrap 采用移动优先的响应式设计,自动适应各种屏幕尺寸:
html
<div class="container">
<div class="row">
<div class="col-12 col-md-6 col-lg-4">
在手机上占满 12 列
在平板上占 6 列
在桌面上占 4 列
</div>
</div>
</div>
2. 强大的栅格系统 #
Bootstrap 使用 12 列栅格系统,配合 6 个响应式断点:
| 断点 | 类前缀 | 最小宽度 | 适用设备 |
|---|---|---|---|
| Extra small | col- |
< 576px | 手机竖屏 |
| Small | col-sm- |
≥ 576px | 手机横屏 |
| Medium | col-md- |
≥ 768px | 平板 |
| Large | col-lg- |
≥ 992px | 桌面 |
| Extra large | col-xl- |
≥ 1200px | 大桌面 |
| Extra extra large | col-xxl- |
≥ 1400px | 超大屏幕 |
3. 丰富的组件库 #
Bootstrap 内置了数十个常用组件:
text
组件分类
├── 基础组件
│ ├── 按钮 (Buttons)
│ ├── 表单 (Forms)
│ ├── 表格 (Tables)
│ └── 图片 (Images)
├── 导航组件
│ ├── 导航栏 (Navbar)
│ ├── 面包屑 (Breadcrumb)
│ ├── 分页 (Pagination)
│ └── 标签页 (Tabs)
├── 信息展示
│ ├── 卡片 (Cards)
│ ├── 徽章 (Badges)
│ ├── 警告框 (Alerts)
│ └── 进度条 (Progress)
└── 交互组件
├── 模态框 (Modal)
├── 轮播图 (Carousel)
├── 下拉菜单 (Dropdown)
└── 折叠面板 (Collapse)
4. 实用工具类 #
Bootstrap 提供了大量实用工具类,无需编写 CSS:
html
<!-- 间距 -->
<div class="m-3 p-4">外边距和内边距</div>
<div class="mt-2 mb-3">上下外边距</div>
<!-- 文本 -->
<p class="text-center text-primary">居中的蓝色文本</p>
<!-- 显示/隐藏 -->
<div class="d-none d-md-block">仅在中屏以上显示</div>
<!-- Flex 布局 -->
<div class="d-flex justify-content-between align-items-center">
Flex 容器
</div>
5. Sass 支持 #
Bootstrap 使用 Sass 构建,支持变量定制:
scss
// 修改主题色
$primary: #0d6efd;
$secondary: #6c757d;
$success: #198754;
$danger: #dc3545;
// 修改断点
$grid-breakpoints: (
xs: 0,
sm: 576px,
md: 768px,
lg: 992px,
xl: 1200px,
xxl: 1400px
);
// 修改栅格列数
$grid-columns: 12;
为什么选择 Bootstrap? #
1. 提高开发效率 #
| 任务 | 原生开发 | Bootstrap |
|---|---|---|
| 创建响应式布局 | 编写媒体查询 | 使用栅格类 |
| 创建导航栏 | 编写 CSS + JS | 复制组件代码 |
| 创建按钮样式 | 编写 CSS | 添加类名 |
| 创建模态框 | 编写 CSS + JS | 复制组件代码 |
2. 跨浏览器兼容 #
Bootstrap 自动处理浏览器兼容性问题:
- 自动添加浏览器前缀
- 统一的默认样式重置
- 经过充分测试的组件
3. 活跃的社区 #
- GitHub Stars: 超过 160k
- 贡献者: 超过 1000 人
- 丰富的第三方资源
- 完善的官方文档
4. 持续更新 #
Bootstrap 团队持续维护和更新:
- 定期发布新版本
- 修复安全漏洞
- 添加新功能
- 改进性能
Bootstrap 的应用场景 #
1. 企业官网 #
html
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="#">公司名称</a>
<div class="navbar-nav">
<a class="nav-link" href="#">首页</a>
<a class="nav-link" href="#">产品</a>
<a class="nav-link" href="#">关于我们</a>
</div>
</div>
</nav>
2. 后台管理系统 #
html
<div class="container-fluid">
<div class="row">
<nav class="col-md-2 d-md-block bg-light sidebar">
<!-- 侧边栏 -->
</nav>
<main class="col-md-9 ms-sm-auto col-lg-10 px-md-4">
<!-- 主内容区 -->
</main>
</div>
</div>
3. 博客网站 #
html
<div class="row">
<div class="col-md-8">
<article class="card mb-4">
<div class="card-body">
<h2 class="card-title">文章标题</h2>
<p class="card-text">文章内容...</p>
</div>
</article>
</div>
<aside class="col-md-4">
<!-- 侧边栏小部件 -->
</aside>
</div>
4. 电商网站 #
html
<div class="row row-cols-1 row-cols-md-3 g-4">
<div class="col">
<div class="card h-100">
<img src="product.jpg" class="card-img-top">
<div class="card-body">
<h5 class="card-title">商品名称</h5>
<p class="card-text">¥99.00</p>
<button class="btn btn-primary">加入购物车</button>
</div>
</div>
</div>
</div>
Bootstrap 与其他框架对比 #
Bootstrap vs Tailwind CSS #
| 特性 | Bootstrap | Tailwind CSS |
|---|---|---|
| 设计理念 | 组件化 | 原子化 |
| 学习曲线 | 较低 | 中等 |
| 定制性 | 中等 | 高 |
| 文件大小 | 较大 | 可变(按需) |
| 设计风格 | 有预设 | 无预设 |
| 适用场景 | 快速开发 | 高度定制 |
Bootstrap vs Material UI #
| 特性 | Bootstrap | Material UI |
|---|---|---|
| 技术栈 | CSS + JS | React 组件 |
| 设计风格 | 经典 | Material Design |
| 学习曲线 | 低 | 中等 |
| 定制性 | 中等 | 高 |
| 文件大小 | 中等 | 较大 |
| 适用场景 | 通用 | React 项目 |
Bootstrap vs Ant Design #
| 特性 | Bootstrap | Ant Design |
|---|---|---|
| 技术栈 | CSS + JS | React 组件 |
| 设计风格 | 经典 | 企业级 |
| 学习曲线 | 低 | 中等 |
| 组件数量 | 中等 | 丰富 |
| 文件大小 | 中等 | 较大 |
| 适用场景 | 通用 | 企业应用 |
浏览器支持 #
Bootstrap 5 支持以下浏览器:
| 浏览器 | 最低版本 |
|---|---|
| Chrome | 60+ |
| Firefox | 60+ |
| Safari | 12+ |
| Edge | 79+ |
| Opera | 47+ |
注意:Bootstrap 5 不再支持 Internet Explorer。
学习建议 #
1. 学习路径 #
text
入门阶段
├── 了解 Bootstrap 基本概念
├── 学习栅格系统
├── 掌握常用组件
└── 使用工具类
进阶阶段
├── 深入理解响应式设计
├── 学习 JavaScript 插件
├── 自定义主题样式
└── 构建完整页面
高级阶段
├── Sass 变量定制
├── 性能优化
├── 与其他框架集成
└── 开发自定义组件
2. 学习技巧 #
- 动手实践:边学边写代码,加深理解
- 阅读文档:官方文档是最权威的学习资源
- 分析示例:研究官方示例的代码结构
- 项目实战:在实际项目中应用所学知识
- 持续学习:关注 Bootstrap 的版本更新
3. 常见误区 #
| 误区 | 正确理解 |
|---|---|
| Bootstrap 只适合新手 | 适合所有水平的开发者 |
| Bootstrap 网站都长得一样 | 可以高度定制 |
| Bootstrap 文件太大 | 可以按需引入 |
| Bootstrap 不够灵活 | Sass 变量可完全定制 |
下一步 #
现在你已经了解了 Bootstrap 是什么,接下来学习 快速开始,开始你的 Bootstrap 之旅!
最后更新:2026-03-28