下面我将为你提供一个完整的 Bootstrap 店铺网页开发指南,包括:

- 页面结构规划
- 核心组件和代码示例
- 一个完整的、可运行的 HTML 模板
- 进阶建议
页面结构规划
一个典型的电商店铺网页通常包含以下几个核心部分:
-
顶部导航栏
- Logo 和网站名称
- 主导航菜单(首页、商品分类、关于我们等)
- 搜索框
- 用户中心/登录
- 购物车图标(带商品数量提示)
-
轮播图
展示促销活动、主打商品或品牌故事。
(图片来源网络,侵删) -
商品分类导航
快速引导用户进入不同商品类别。
-
主打商品/新品推荐
以网格布局展示商品卡片,包含图片、名称、价格和“加入购物车”按钮。
(图片来源网络,侵删) -
特色功能/品牌故事
使用图文并茂的方式介绍店铺的优势或品牌理念。
-
页脚
公司信息、联系方式、快速链接、社交媒体图标等。
核心组件和代码示例
我们将使用 Bootstrap 5 来构建,确保在 HTML 文件的 <head> 部分引入 Bootstrap 的 CSS 和 JS 文件。
<!-- Bootstrap CSS --> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet"> <!-- Bootstrap Icons (可选,用于图标) --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.2/font/bootstrap-icons.min.css">
a. 顶部导航栏
使用 navbar 组件,并设置为 sticky-top 使其滚动时保持在顶部。
<nav class="navbar navbar-expand-lg navbar-dark bg-dark sticky-top">
<div class="container">
<!-- Logo -->
<a class="navbar-brand" href="#">
<i class="bi bi-shop"></i> 我的商店
</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 me-auto">
<li class="nav-item">
<a class="nav-link active" 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>
<!-- 搜索框 -->
<form class="d-flex me-3">
<input class="form-control me-2" type="search" placeholder="搜索商品">
<button class="btn btn-outline-light" type="submit">搜索</button>
</form>
<!-- 用户和购物车 -->
<div class="d-flex align-items-center">
<a href="#" class="text-white me-3"><i class="bi bi-person-circle fs-4"></i></a>
<a href="#" class="text-white position-relative">
<i class="bi bi-cart3 fs-4"></i>
<span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger">
3
</span>
</a>
</div>
</div>
</div>
</nav>
b. 轮播图
使用 carousel 组件。data-bs-ride="carousel" 使其自动播放。
<div id="mainCarousel" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-indicators">
<button type="button" data-bs-target="#mainCarousel" data-bs-slide-to="0" class="active"></button>
<button type="button" data-bs-target="#mainCarousel" data-bs-slide-to="1"></button>
<button type="button" data-bs-target="#mainCarousel" data-bs-slide-to="2"></button>
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img src="https://via.placeholder.com/1200x400?text=促销活动1" class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>夏季大促销</h5>
<p>全场商品低至5折,限时抢购!</p>
</div>
</div>
<div class="carousel-item">
<img src="https://via.placeholder.com/1200x400?text=新品上市" class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>新品上市</h5>
<p>探索我们最新款的时尚单品。</p>
</div>
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#mainCarousel" data-bs-slide="prev">
<span class="carousel-control-prev-icon"></span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#mainCarousel" data-bs-slide="next">
<span class="carousel-control-next-icon"></span>
</button>
</div>
c. 商品展示网格
这是店铺的核心,使用 card 组件和 row/col 网格系统。
<div class="container my-5">
<h2 class="text-center mb-4">热门商品</h2>
<div class="row">
<!-- 商品卡片 1 -->
<div class="col-md-3 mb-4">
<div class="card h-100">
<img src="https://via.placeholder.com/300x200?text=商品A" class="card-img-top" alt="商品图片">
<div class="card-body d-flex flex-column">
<h5 class="card-title">经典款白T恤</h5>
<p class="card-text text-muted">100%纯棉,舒适透气。</p>
<div class="mt-auto">
<p class="card-text fs-5 fw-bold text-danger">¥99.00</p>
<a href="#" class="btn btn-primary w-100">加入购物车</a>
</div>
</div>
</div>
</div>
<!-- 商品卡片 2 -->
<div class="col-md-3 mb-4">
<div class="card h-100">
<img src="https://via.placeholder.com/300x200?text=商品B" class="card-img-top" alt="商品图片">
<div class="card-body d-flex flex-column">
<h5 class="card-title">时尚牛仔裤</h5>
<p class="card-text text-muted">修身版型,百搭时尚。</p>
<div class="mt-auto">
<p class="card-text fs-5 fw-bold text-danger">¥199.00</p>
<a href="#" class="btn btn-primary w-100">加入购物车</a>
</div>
</div>
</div>
</div>
<!-- 商品卡片 3 -->
<div class="col-md-3 mb-4">
<div class="card h-100">
<img src="https://via.placeholder.com/300x200?text=商品C" class="card-img-top" alt="商品图片">
<div class="card-body d-flex flex-column">
<h5 class="card-title">运动跑鞋</h5>
<p class="card-text text-muted">轻便缓震,适合日常运动。</p>
<div class="mt-auto">
<p class="card-text fs-5 fw-bold text-danger">¥299.00</p>
<a href="#" class="btn btn-primary w-100">加入购物车</a>
</div>
</div>
</div>
</div>
<!-- 商品卡片 4 -->
<div class="col-md-3 mb-4">
<div class="card h-100">
<img src="https://via.placeholder.com/300x200?text=商品D" class="card-img-top" alt="商品图片">
<div class="card-body d-flex flex-column">
<h5 class="card-title">帆布双肩包</h5>
<p class="card-text text-muted">大容量设计,学生出游必备。</p>
<div class="mt-auto">
<p class="card-text fs-5 fw-bold text-danger">¥159.00</p>
<a href="#" class="btn btn-primary w-100">加入购物车</a>
</div>
</div>
</div>
</div>
</div>
</div>
技巧:h-100 让卡片高度一致,d-flex flex-column 和 mt-auto 结合,可以将“加入购物车”按钮始终固定在卡片底部。
d. 页脚
使用 footer 标签和 p-4 (padding) 来创建页脚。
<footer class="bg-dark text-white py-5">
<div class="container">
<div class="row">
<div class="col-md-4">
<h5>关于我们</h5>
<p>我们致力于为顾客提供高品质、时尚的商品和优质的购物体验。</p>
</div>
<div class="col-md-4">
<h5>快速链接</h5>
<ul class="list-unstyled">
<li><a href="#" class="text-white-50">隐私政策</a></li>
<li><a href="#" class="text-white-50">服务条款</a></li>
<li><a href="#" class="text-white-50">配送信息</a></li>
</ul>
</div>
<div class="col-md-4">
<h5>联系我们</h5>
<p><i class="bi bi-geo-alt"></i> 北京市朝阳区xx路xx号</p>
<p><i class="bi bi-telephone"></i> (010) 1234-5678</p>
<div class="mt-3">
<a href="#" class="text-white me-2"><i class="bi bi-facebook fs-4"></i></a>
<a href="#" class="text-white me-2"><i class="bi bi-twitter fs-4"></i></a>
<a href="#" class="text-white"><i class="bi bi-instagram fs-4"></i></a>
</div>
</div>
</div>
<hr class="my-4 bg-secondary">
<div class="text-center">
<p class="mb-0">© 2025 我的商店. 保留所有权利.</p>
</div>
</div>
</footer>
完整的 HTML 模板
将以上所有部分组合在一起,你就得到了一个完整的 Bootstrap 店铺首页,你可以直接复制下面的代码,保存为 .html 文件,在浏览器中打开即可看到效果。
<!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 -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Bootstrap Icons -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.2/font/bootstrap-icons.min.css">
<style>
/* 自定义一些样式 */
.carousel-item img {
object-fit: cover;
height: 500px;
}
.card-img-top {
height: 200px;
object-fit: cover;
}
</style>
</head>
<body>
<!-- 顶部导航栏 -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark sticky-top">
<div class="container">
<a class="navbar-brand" href="#">
<i class="bi bi-shop"></i> 我的商店
</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 me-auto">
<li class="nav-item">
<a class="nav-link active" 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>
<form class="d-flex me-3">
<input class="form-control me-2" type="search" placeholder="搜索商品">
<button class="btn btn-outline-light" type="submit">搜索</button>
</form>
<div class="d-flex align-items-center">
<a href="#" class="text-white me-3"><i class="bi bi-person-circle fs-4"></i></a>
<a href="#" class="text-white position-relative">
<i class="bi bi-cart3 fs-4"></i>
<span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger">
3
</span>
</a>
</div>
</div>
</div>
</nav>
<!-- 轮播图 -->
<div id="mainCarousel" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-indicators">
<button type="button" data-bs-target="#mainCarousel" data-bs-slide-to="0" class="active"></button>
<button type="button" data-bs-target="#mainCarousel" data-bs-slide-to="1"></button>
<button type="button" data-bs-target="#mainCarousel" data-bs-slide-to="2"></button>
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img src="https://images.unsplash.com/photo-1560472354-b33ff0c44a43?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1200&q=80" class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>夏季大促销</h5>
<p>全场商品低至5折,限时抢购!</p>
</div>
</div>
<div class="carousel-item">
<img src="https://images.unsplash.com/photo-1542291026-7eec264c27ff?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1200&q=80" class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>新品上市</h5>
<p>探索我们最新款的时尚单品。</p>
</div>
</div>
<div class="carousel-item">
<img src="https://images.unsplash.com/photo-1606107557195-0e29a4b5b4aa?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1200&q=80" class="d-block w-100" alt="...">
<div class="carousel-caption d-none d-md-block">
<h5>会员专享</h5>
<p>注册成为会员,享受更多优惠。</p>
</div>
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#mainCarousel" data-bs-slide="prev">
<span class="carousel-control-prev-icon"></span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#mainCarousel" data-bs-slide="next">
<span class="carousel-control-next-icon"></span>
</button>
</div>
<!-- 商品展示 -->
<div class="container my-5">
<h2 class="text-center mb-4">热门商品</h2>
<div class="row">
<div class="col-md-3 mb-4">
<div class="card h-100">
<img src="https://images.unsplash.com/photo-1521572163474-6864f9cf17ab?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=774&q=80" class="card-img-top" alt="商品图片">
<div class="card-body d-flex flex-column">
<h5 class="card-title">经典款白T恤</h5>
<p class="card-text text-muted">100%纯棉,舒适透气。</p>
<div class="mt-auto">
<p class="card-text fs-5 fw-bold text-danger">¥99.00</p>
<a href="#" class="btn btn-primary w-100">加入购物车</a>
</div>
</div>
</div>
</div>
<div class="col-md-3 mb-4">
<div class="card h-100">
<img src="https://images.unsplash.com/photo-1542291026-7eec264c27ff?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=774&q=80" class="card-img-top" alt="商品图片">
<div class="card-body d-flex flex-column">
<h5 class="card-title">时尚牛仔裤</h5>
<p class="card-text text-muted">修身版型,百搭时尚。</p>
<div class="mt-auto">
<p class="card-text fs-5 fw-bold text-danger">¥199.00</p>
<a href="#" class="btn btn-primary w-100">加入购物车</a>
</div>
</div>
</div>
</div>
<div class="col-md-3 mb-4">
<div class="card h-100">
<img src="https://images.unsplash.com/photo-1549298916-b41d501d3772?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=774&q=80" class="card-img-top" alt="商品图片">
<div class="card-body d-flex flex-column">
<h5 class="card-title">运动跑鞋</h5>
<p class="card-text text-muted">轻便缓震,适合日常运动。</p>
<div class="mt-auto">
<p class="card-text fs-5 fw-bold text-danger">¥299.00</p>
<a href="#" class="btn btn-primary w-100">加入购物车</a>
</div>
</div>
</div>
</div>
<div class="col-md-3 mb-4">
<div class="card h-100">
<img src="https://images.unsplash.com/photo-1553062407-98eeb64c6a62?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=774&q=80" class="card-img-top" alt="商品图片">
<div class="card-body d-flex flex-column">
<h5 class="card-title">帆布双肩包</h5>
<p class="card-text text-muted">大容量设计,学生出游必备。</p>
<div class="mt-auto">
<p class="card-text fs-5 fw-bold text-danger">¥159.00</p>
<a href="#" class="btn btn-primary w-100">加入购物车</a>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 页脚 -->
<footer class="bg-dark text-white py-5">
<div class="container">
<div class="row">
<div class="col-md-4">
<h5>关于我们</h5>
<p>我们致力于为顾客提供高品质、时尚的商品和优质的购物体验。</p>
</div>
<div class="col-md-4">
<h5>快速链接</h5>
<ul class="list-unstyled">
<li><a href="#" class="text-white-50">隐私政策</a></li>
<li><a href="#" class="text-white-50">服务条款</a></li>
<li><a href="#" class="text-white-50">配送信息</a></li>
</ul>
</div>
<div class="col-md-4">
<h5>联系我们</h5>
<p><i class="bi bi-geo-alt"></i> 北京市朝阳区xx路xx号</p>
<p><i class="bi bi-telephone"></i> (010) 1234-5678</p>
<div class="mt-3">
<a href="#" class="text-white me-2"><i class="bi bi-facebook fs-4"></i></a>
<a href="#" class="text-white me-2"><i class="bi bi-twitter fs-4"></i></a>
<a href="#" class="text-white"><i class="bi bi-instagram fs-4"></i></a>
</div>
</div>
</div>
<hr class="my-4 bg-secondary">
<div class="text-center">
<p class="mb-0">© 2025 我的商店. 保留所有权利.</p>
</div>
</div>
</footer>
<!-- Bootstrap JS (需要 Popper.js) -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
进阶建议
当你掌握了基础布局后,可以考虑以下进阶功能:
- 响应式设计优化:Bootstrap 已经是响应式的,但你可以通过自定义断点(
col-sm-,col-lg-)来微调在不同设备上的布局。 - 交互功能:
- 购物车:使用 JavaScript 来管理购物车数据(增删改查),并动态更新页面上的商品数量和总价。
- 模态框:点击“加入购物车”后,弹出一个模态框提示成功,或者展示一个迷你购物车。
- 商品筛选和排序:在商品列表上方添加下拉菜单或按钮组,让用户可以按价格、分类等进行筛选。
- 美化样式:
- 使用 Bootstrap 的
utilities(工具类)如shadow(阴影)、rounded(圆角)来美化卡片和按钮。 - 编写自定义 CSS 来定义品牌色、字体等,让网站更具个性。
- 使用 Bootstrap 的
- 多页面应用:
- 创建
product.html(商品详情页)、category.html(分类页)、about.html(关于我们页)等,通过导航栏链接它们。
- 创建
- 后端集成:
将静态页面与后端技术(如 PHP, Node.js, Python Django/Flask)结合,实现从数据库动态加载商品数据、用户登录、订单处理等真实功能。
这个指南为你提供了一个坚实的起点,Bootstrap 的强大之处在于其组件化和可扩展性,你可以在此基础上不断添加新功能,打造出功能完善的现代化店铺网站。
