下面我将为你提供一个详细的 Bootstrap 仿小米商城模板,包含核心页面结构、关键组件实现思路和完整代码示例,你可以基于这个模板进行扩展和美化。

(图片来源网络,侵删)
模板设计思路
小米商城的设计风格特点是:简洁、高效、信息密度高、以内容为中心,我们的 Bootstrap 实现将围绕这些特点展开。
- 布局:采用经典的“上中下”三段式布局(Header, Main, Footer)。
- 导航栏:使用 Bootstrap
navbar组件,实现响应式折叠、多级下拉菜单(如“小米手机”)。 - 轮播图:使用 Bootstrap
carousel组件,这是首页最重要的视觉焦点。 - 产品展示:使用 Bootstrap
card组件搭配栅格系统,实现灵活的产品列表布局。 - 页脚:使用
list-group和栅格系统,清晰地展示各类链接和信息。
准备工作
你需要引入 Bootstrap 5 的 CSS 和 JavaScript 文件,最简单的方式是使用 CDN。
在 HTML 文件的 <head> 中添加:
<!-- Bootstrap 5 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">
在 HTML 文件底部,</body> 标签前添加:

(图片来源网络,侵删)
<!-- Bootstrap 5 JS Bundle (includes Popper) --> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
完整代码示例 (index.html)
这是一个可以直接运行的完整 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 5 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>
/* 自定义样式,以模仿小米商城的风格 */
:root {
--mi-red: #ff6700;
--mi-light-gray: #f5f5f5;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
/* 顶部导航栏样式 */
.top-bar {
background-color: #333;
color: #b0b0b0;
font-size: 12px;
padding: 5px 0;
}
.top-bar a {
color: #b0b0b0;
text-decoration: none;
margin: 0 10px;
}
.top-bar a:hover {
color: white;
}
/* 主导航栏样式 */
.main-navbar {
background-color: white;
border-bottom: 1px solid #e0e0e0;
padding-top: 15px;
padding-bottom: 15px;
}
.main-navbar .navbar-brand img {
height: 30px;
}
.main-navbar .nav-link {
color: #333;
font-weight: 500;
padding: 8px 15px !important;
margin: 0 5px;
transition: color 0.3s;
}
.main-navbar .nav-link:hover {
color: var(--mi-red);
}
.main-navbar .search-box {
width: 296px;
}
.main-navbar .btn-search {
color: #616161;
border: 1px solid #e0e0e0;
background-color: #fff;
}
.main-navbar .btn-search:hover {
color: var(--mi-red);
border-color: var(--mi-red);
}
/* 轮播图部分 */
.carousel-section {
margin-top: 20px;
}
.carousel-item img {
width: 100%;
height: 460px;
object-fit: cover;
}
/* 产品标题样式 */
.section-title {
font-size: 22px;
font-weight: 200;
margin: 40px 0 20px;
display: flex;
align-items: center;
}
.section-title .more {
margin-left: auto;
font-size: 16px;
color: #424242;
}
.section-title .more:hover {
color: var(--mi-red);
}
.section-title::before {
content: "";
display: inline-block;
width: 10px;
height: 10px;
background-color: var(--mi-red);
margin-right: 10px;
}
/* 产品卡片样式 */
.product-card .card-img-top {
height: 200px;
object-fit: contain;
padding: 20px;
background-color: #f5f5f5;
}
.product-card .card-title {
font-size: 14px;
font-weight: normal;
margin-bottom: 10px;
}
.product-card .price {
color: #ff6700;
font-size: 14px;
}
.product-card .old-price {
color: #b0b0b0;
font-size: 12px;
text-decoration: line-through;
margin-left: 5px;
}
.product-card .btn-primary {
background-color: #ff6700;
border-color: #ff6700;
font-size: 14px;
padding: 6px 12px;
}
.product-card .btn-primary:hover {
background-color: #f25800;
border-color: #f25800;
}
/* 页脚样式 */
.mi-footer {
background-color: #f5f5f5;
padding: 40px 0 20px;
margin-top: 60px;
}
.mi-footer h5 {
font-size: 14px;
font-weight: 500;
margin-bottom: 20px;
}
.mi-footer ul {
list-style: none;
padding: 0;
}
.mi-footer ul li {
margin-bottom: 10px;
}
.mi-footer ul li a {
color: #757575;
font-size: 12px;
text-decoration: none;
}
.mi-footer ul li a:hover {
color: #ff6700;
}
.mi-footer .copyright {
text-align: center;
margin-top: 30px;
padding-top: 20px;
border-top: 1px solid #e0e0e0;
color: #757575;
font-size: 12px;
}
</style>
</head>
<body>
<!-- 顶部导航栏 -->
<div class="top-bar">
<div class="container">
<div class="row">
<div class="col-md-6">
<a href="#">小米商城</a> |
<a href="#">MIUI</a> |
<a href="#">IoT</a> |
<a href="#">云服务</a> |
<a href="#">天星数科</a> |
<a href="#">有品</a>
</div>
<div class="col-md-6 text-end">
<a href="#"><i class="bi bi-person-circle"></i> 登录</a> |
<a href="#"><i class="bi bi-cart3"></i> 购物车 (0)</a>
</div>
</div>
</div>
</div>
<!-- 主导航栏 -->
<nav class="navbar navbar-expand-lg main-navbar">
<div class="container">
<a class="navbar-brand" href="#"><img src="https://cdn.cnbj1.fds.api.mi-img.com/mi.com-assets/shop/img/milogo.png" alt="小米Logo"></a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<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="#">Xiaomi手机</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Redmi红米</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
电视
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">电视</a></li>
<li><a class="dropdown-item" href="#">显示器</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">笔记本</a></li>
<li><a class="dropdown-item" href="#">平板</a></li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" 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>
<li class="nav-item">
<a class="nav-link" 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 search-box" role="search">
<input class="form-control me-2" type="search" placeholder="小米手环" aria-label="Search">
<button class="btn btn-search" type="submit">
<i class="bi bi-search"></i>
</button>
</form>
</div>
</div>
</nav>
<!-- 轮播图 -->
<section class="carousel-section">
<div id="miCarousel" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-indicators">
<button type="button" data-bs-target="#miCarousel" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
<button type="button" data-bs-target="#miCarousel" data-bs-slide-to="1" aria-label="Slide 2"></button>
<button type="button" data-bs-target="#miCarousel" data-bs-slide-to="2" aria-label="Slide 3"></button>
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img src="https://cdn.cnbj1.fds.api.mi-img.com/mi.com-assets/20251025/mi-civi3-banner-2cbf7d.jpg" class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="https://cdn.cnbj1.fds.api.mi-img.com/mi.com-assets/20251025/xiaomi-pad-6-pro-banner-3e3e0b.jpg" class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="https://cdn.cnbj1.fds.api.mi-img.com/mi.com-assets/20251025/redmi-k60-banner-3b8e57.jpg" class="d-block w-100" alt="...">
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#miCarousel" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#miCarousel" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
</section>
<!-- 主要内容区 -->
<main class="container">
<!-- 小米闪购 -->
<div class="section-title">
小米闪购
<a href="#" class="more">查看更多 <i class="bi bi-chevron-right"></i></a>
</div>
<div class="row">
<div class="col-6 col-md-3 mb-4">
<div class="card product-card h-100">
<img src="https://cdn.cnbj1.fds.api.mi-img.com/mi.com-assets/20250919/miband8/8/miband8-main.png" class="card-img-top" alt="产品图片">
<div class="card-body">
<h5 class="card-title">小米手环 8</h5>
<p class="card-text">
<span class="price">¥249</span>
<span class="old-price">¥299</span>
</p>
<a href="#" class="btn btn-primary">立即抢购</a>
</div>
</div>
</div>
<div class="col-6 col-md-3 mb-4">
<div class="card product-card h-100">
<img src="https://cdn.cnbj1.fds.api.mi-img.com/mi.com-assets/20250919/xiaomibuds4pro/4pro/xiaomibuds4pro-main.png" class="card-img-top" alt="产品图片">
<div class="card-body">
<h5 class="card-title">小米 Buds 4 Pro</h5>
<p class="card-text">
<span class="price">¥699</span>
<span class="old-price">¥799</span>
</p>
<a href="#" class="btn btn-primary">立即抢购</a>
</div>
</div>
</div>
<div class="col-6 col-md-3 mb-4">
<div class="card product-card h-100">
<img src="https://cdn.cnbj1.fds.api.mi-img.com/mi.com-assets/20250919/xiaomistickv/2/xiaomistickv-main.png" class="card-img-top" alt="产品图片">
<div class="card-body">
<h5 class="card-title">小米电视 Stick 4K</h5>
<p class="card-text">
<span class="price">¥449</span>
<span class="old-price">¥549</span>
</p>
<a href="#" class="btn btn-primary">立即抢购</a>
</div>
</div>
</div>
<div class="col-6 col-md-3 mb-4">
<div class="card product-card h-100">
<img src="https://cdn.cnbj1.fds.api.mi-img.com/mi.com-assets/20250919/xiaomistickv/2/xiaomistickv-main.png" class="card-img-top" alt="产品图片">
<div class="card-body">
<h5 class="card-title">Redmi Buds 5</h5>
<p class="card-text">
<span class="price">¥199</span>
<span class="old-price">¥299</span>
</p>
<a href="#" class="btn btn-primary">立即抢购</a>
</div>
</div>
</div>
</div>
<!-- 为你推荐 -->
<div class="section-title">
为你推荐
<a href="#" class="more">查看更多 <i class="bi bi-chevron-right"></i></a>
</div>
<div class="row">
<!-- 使用循环生成更多产品卡片 -->
<div class="col-6 col-md-3 mb-4">
<div class="card product-card h-100">
<img src="https://cdn.cnbj1.fds.api.mi-img.com/mi.com-assets/20250919/xiaomistickv/2/xiaomistickv-main.png" class="card-img-top" alt="产品图片">
<div class="card-body">
<h5 class="card-title">Redmi K60 至尊版</h5>
<p class="card-text">
<span class="price">¥2599</span>
</p>
<a href="#" class="btn btn-primary">立即购买</a>
</div>
</div>
</div>
<div class="col-6 col-md-3 mb-4">
<div class="card product-card h-100">
<img src="https://cdn.cnbj1.fds.api.mi-img.com/mi.com-assets/20250919/xiaomistickv/2/xiaomistickv-main.png" class="card-img-top" alt="产品图片">
<div class="card-body">
<h5 class="card-title">Redmi Note 12 Turbo</h5>
<p class="card-text">
<span class="price">¥1999</span>
</p>
<a href="#" class="btn btn-primary">立即购买</a>
</div>
</div>
</div>
<div class="col-6 col-md-3 mb-4">
<div class="card product-card h-100">
<img src="https://cdn.cnbj1.fds.api.mi-img.com/mi.com-assets/20250919/xiaomistickv/2/xiaomistickv-main.png" class="card-img-top" alt="产品图片">
<div class="card-body">
<h5 class="card-title">小米电视 6 55"</h5>
<p class="card-text">
<span class="price">¥1999</span>
</p>
<a href="#" class="btn btn-primary">立即购买</a>
</div>
</div>
</div>
<div class="col-6 col-md-3 mb-4">
<div class="card product-card h-100">
<img src="https://cdn.cnbj1.fds.api.mi-img.com/mi.com-assets/20250919/xiaomistickv/2/xiaomistickv-main.png" class="card-img-top" alt="产品图片">
<div class="card-body">
<h5 class="card-title">小米手环 7</h5>
<p class="card-text">
<span class="price">¥179</span>
</p>
<a href="#" class="btn btn-primary">立即购买</a>
</div>
</div>
</div>
</div>
</main>
<!-- 页脚 -->
<footer class="mi-footer">
<div class="container">
<div class="row">
<div class="col-md-2 mb-4">
<h5>帮助中心</h5>
<ul>
<li><a href="#">账户管理</a></li>
<li><a href="#">购物指南</a></li>
<li><a href="#">订单操作</a></li>
</ul>
</div>
<div class="col-md-2 mb-4">
<h5>服务支持</h5>
<ul>
<li><a href="#">售后政策</a></li>
<li><a href="#">自助服务</a></li>
<li><a href="#">相关下载</a></li>
</ul>
</div>
<div class="col-md-2 mb-4">
<h5>线下门店</h5>
<ul>
<li><a href="#">小米之家</a></li>
<li><a href="#">服务网点</a></li>
<li><a href="#">授权体验店</a></li>
</ul>
</div>
<div class="col-md-2 mb-4">
<h5>关于小米</h5>
<ul>
<li><a href="#">小米之家</a></li>
<li><a href="#">企业文化</a></li>
<li><a href="#">投资者关系</a></li>
</ul>
</div>
<div class="col-md-4 mb-4">
<h5>关注我们</h5>
<p>微信公众号</p>
<img src="https://cdn.cnbj1.fds.api.mi-img.com/mi.com-assets/shop/img/qr_code.jpg" alt="微信公众号二维码" style="width: 120px;">
</div>
</div>
<div class="copyright">
<p>© 2025 mi.com 京ICP证110507号 京ICP备10046444号 京公网安备11010802025134号 京网文[2025]0060-0429号</p>
</div>
</div>
</footer>
</body>
</html>
关键组件实现思路解析
a. 导航栏
- 结构:外层
navbar,品牌navbar-brand,导航链接navbar-nav,折叠按钮navbar-toggler,搜索框form。 - 响应式:
navbar-expand-lg和collapse组件配合,在小屏幕下自动折叠成一个汉堡菜单。 - 下拉菜单:
dropdown和dropdown-menu组件轻松实现多级导航。 - 美化:通过自定义 CSS 调整了颜色、间距和悬停效果,使其更贴近小米风格。
b. 轮播图
- 结构:
carousel是最外层容器,carousel-inner包含所有轮播项carousel-item,carousel-indicators是底部指示器,carousel-control是左右切换箭头。 - 功能:
data-bs-ride="carousel"使其自动播放。data-bs-slide-to和data-bs-slide控制切换。 - 图片:使用
object-fit: cover确保图片填满容器且不变形。
c. 产品展示
- 栅格系统:
row和col-6 col-md-3的组合是核心,在手机上显示为两列 (col-6),在中等屏幕及以上显示为四列 (col-md-3),完美响应。 - 卡片:
card组件是产品信息的理想容器。card-img-top放图片,card-body放标题、价格和按钮。 - 布局:通过
h-100让卡片高度一致,使页面更整齐。
d. 页脚
- 栅格系统:同样使用
row和col-md-*进行布局,将不同类型的信息分栏展示。 - 列表:
list-unstyled去掉列表默认样式,用自定义 CSS 控制间距和颜色,实现清爽的页脚效果。
如何扩展和完善这个模板?
这个模板已经具备了商城首页的“骨架”,你可以从以下几个方面进行深化:
-
创建子页面:
- 产品详情页:使用
container、row、col-md-6来布局左侧大图和右侧详情信息,使用list-group展示规格参数。 - 购物车页面:使用
table展示商品列表,使用input[type="number"]实现数量修改。 - 登录/注册页:使用
card和form-control创建简洁的表单。
- 产品详情页:使用
-
增加交互功能:
(图片来源网络,侵删)- 加入购物车:使用 JavaScript 监听“加入购物车”按钮的点击事件,将商品信息(ID、名称、价格、数量)存储在
localStorage中,并动态更新导航栏购物车图标上的数字。 - 商品筛选和排序:在产品列表上方添加筛选下拉框(如价格、销量),用 JavaScript 实现前端筛选。
- 加入购物车:使用 JavaScript 监听“加入购物车”按钮的点击事件,将商品信息(ID、名称、价格、数量)存储在
-
引入后端:
- 当你准备好后,可以将静态的 HTML 数据替换为通过
fetch或axios从后端 API 获取的动态数据,这样你的网站就能实时展示最新的商品信息。
- 当你准备好后,可以将静态的 HTML 数据替换为通过
-
优化细节:
- 加载动画:在数据加载时显示一个
spinner。 - 响应式微调:在不同尺寸的设备上(如平板、手机)进一步优化间距和字体大小。
- 添加过渡效果:为卡片、按钮等元素添加 CSS
transition,让交互更平滑。
- 加载动画:在数据加载时显示一个
这个 Bootstrap 模板为你提供了一个坚实的基础,祝你开发顺利!
