第一部分:Bootstrap 模板
Bootstrap 模板指的是已经为你搭建好基础结构和样式的网页文件,你可以直接基于这个模板进行开发,而无需从零开始编写 HTML、CSS 和 JavaScript。

(图片来源网络,侵删)
它的核心目标是快速启动项目,让你专注于内容开发,而不是繁琐的布局和样式设置。
为什么使用 Bootstrap 模板?
- 快速上手:提供响应式布局、导航栏、栅格系统等常见组件,开箱即用。
- 响应式设计:默认支持移动设备优先,确保你的网站在各种屏幕尺寸下都能良好显示。
- 跨浏览器兼容:处理了不同浏览器间的样式差异,减少你的调试工作。
- 组件丰富:内置了大量可复用的 UI 组件,如按钮、模态框、轮播图、下拉菜单等。
- 一致性:帮助你保持整个项目的设计风格统一。
一个典型的 Bootstrap 模板结构
一个最基础的 Bootstrap 模板通常包含以下文件:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">我的 Bootstrap 页面</title>
<!-- 1. 引入 Bootstrap 的 CSS 文件 -->
<!-- 可以是编译好的 CSS,也可以是 Less 源文件(需要编译器) -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- 2. 可选:自定义 CSS 文件 -->
<!-- 在这里覆盖或添加你自己的样式 -->
<style>
body {
padding-top: 50px; /* 给固定导航栏留出空间 */
}
.my-custom-style {
background-color: #f0f0f0;
}
</style>
</head>
<body>
<!-- 3. 页面内容,使用 Bootstrap 的类名 -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
<div class="container">
<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>
<li class="nav-item"><a class="nav-link" href="#">lt;/a></li>
<li class="nav-item"><a class="nav-link" href="#">联系</a></li>
</ul>
</div>
</div>
</nav>
<div class="container mt-5">
<div class="row">
<div class="col-md-8">
<h1>欢迎来到我的网站</h1>
<p>这是一个使用 Bootstrap 构建的响应式页面模板。</p>
</div>
<div class="col-md-4">
<div class="card my-custom-style">
<div class="card-body">
<h5 class="card-title">侧边栏</h5>
<p class="card-text">这里可以放置一些次要信息。</p>
</div>
</div>
</div>
</div>
</div>
<!-- 4. 引入 Bootstrap 的 JavaScript 文件 -->
<!-- Popper.js 是 Bootstrap 的依赖,必须先引入 -->
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
Bootstrap 模板就是一个成品或半成品的网页框架,你往里面填充内容即可。
第二部分:Bootstrap 的 Less
Less (Leaner Style Sheets) 是一种CSS 预处理器,它扩展了 CSS 的功能,允许你使用变量、嵌套规则、函数、混合(Mixins)等编程特性,让 CSS 更易于维护和扩展。

(图片来源网络,侵删)
为什么 Bootstrap 使用 Less?
- 可维护性:使用变量定义颜色、字体、间距等,修改一处即可全局生效。
- 可扩展性:你可以轻松地覆盖 Bootstrap 的默认变量,定制出属于你自己的主题。
- 代码组织:通过嵌套规则,让 CSS 结构更清晰,与 HTML 结构对应。
- 减少重复:通过混合(Mixins)复用 CSS 代码块,避免编写大量重复样式。
Less 的核心特性(以 Bootstrap 为例)
a) 变量 Less 允许你定义变量,用于存储颜色、字体、尺寸等值。
// variables.less
@primary-color: #007bff;
@border-radius: .25rem;
@font-family-base: 'Helvetica Neue', Arial, sans-serif;
// 在其他地方使用变量
.btn-primary {
background-color: @primary-color;
border-radius: @border-radius;
font-family: @font-family-base;
}
b) 嵌套 CSS 选择器可以嵌套在父选择器内部,使代码更整洁。
// nav.less
.navbar {
background-color: #333;
.navbar-brand {
font-weight: bold;
color: white;
&:hover { // & 表示父选择器,即 .navbar-brand
color: @primary-color;
}
}
.nav-item {
.nav-link {
color: #ddd;
}
}
}
c) 混合 可以定义一个可复用的样式块,并在其他地方调用它。
// mixins.less
.center-block() {
display: block;
margin-left: auto;
margin-right: auto;
}
.btn-custom() {
padding: .5rem 1rem;
border: 1px solid transparent;
border-radius: @border-radius;
cursor: pointer;
}
// 使用混合
.my-component {
.center-block();
.btn-custom();
background-color: @primary-color;
color: white;
}
d) 函数与运算 可以在 Less 中进行数学运算。

(图片来源网络,侵删)
@base-spacing: 10px;
@component-spacing: @base-spacing * 2;
.component {
margin: @component-spacing;
padding: @base-spacing;
}
Bootstrap 的 Less 文件结构
Bootstrap 的源代码就是用 Less 编写的,当你下载 Bootstrap 的源码时,你会看到一个 less/ 目录,里面包含了所有样式文件的源代码。
bootstrap/
├── less/
│ ├── alerts.less // 警告框组件
│ ├── buttons.less // 按钮组件
│ ├── carousel.less // 轮播图组件
│ ├── dropdowns.less // 下拉菜单
│ ├── forms.less // 表单
│ ├── grid.less // 栅格系统(核心)
│ ├── mixins.less // 核心混合文件
│ ├── navbar.less // 导航栏
│ ├── tables.less // 表格
│ ├── theme.less // 主题变量和样式
│ ├── variables.less // **核心变量文件**
│ └── ... (其他组件)
├── js/ // JavaScript 源码
└── ... (其他文件)
variables.less 是最关键的文件,它定义了 Bootstrap 的所有默认颜色、字体、间距等,如果你想定制 Bootstrap,主要就是修改这个文件。
第三部分:两者如何结合使用?
Less 是工具,模板是结果,Less 用来生成模板中使用的 CSS 文件。
工作流程:
- 获取源码:从 GitHub 下载 Bootstrap 的源码(包含 Less 文件)。
- 定制 Less:
- 复制
less/variables.less文件。 - 修改
variables.less中的变量,// 修改主色调 @primary-color: #ff6b6b; // 修改字体 @font-family-base: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
- 复制
- 编译 Less:
- 使用 Less 编译器(如 VS Code 的插件、命令行工具
lessc或在线编译器)将 Less 文件编译成 CSS 文件。 - 编译时,Bootstrap 会读取你的
variables.less,并将所有变量替换为你定义的值,最终生成一个bootstrap.css文件。
- 使用 Less 编译器(如 VS Code 的插件、命令行工具
- 使用模板:
- 在你的 HTML 模板中,不再引入 Bootstrap 官方的 CSS,而是引入你自己编译好的
bootstrap.css。 - 现在你所有的页面都会使用你自定义的颜色和字体。
- 在你的 HTML 模板中,不再引入 Bootstrap 官方的 CSS,而是引入你自己编译好的
示例:自定义编译后的模板
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<!-- 引入你自己编译的、带有自定义主题的 CSS -->
<link href="path/to/your/custom-bootstrap.css" rel="stylesheet">
<style>
/* 你的自定义样式 */
</style>
</head>
<body>
<!-- 页面内容,和之前一样 -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">...</nav>
...
</body>
</html>
总结与对比
| 特性 | Bootstrap 模板 | Bootstrap Less |
|---|---|---|
| 本质 | 一个 HTML/CSS/JS 的成品框架 | 一种 CSS 预处理器和源代码 |
| 目的 | 快速开发,直接拿来用 | 定制和扩展 Bootstrap 的样式 |
| 使用方式 | 在 HTML 中通过 <link> 引入 CSS |
在 Less 文件中修改变量和规则,然后编译成 CSS |
| 面向对象 | 前端开发者,快速构建页面 | 高级开发者/设计师,深度定制主题 |
| 关系 | 模板是 Less 编译后的产物之一,你可以使用官方模板,也可以用 Less 自定义后再生成自己的模板。 |
- 想快速做个网站?直接用 Bootstrap 模板(CDN 版本最快)。
- 想打造一个专属品牌,有自己的颜色和风格?那就需要使用 Less 来定制 Bootstrap 的源码,然后编译成自己的 CSS 再用在模板中。
