Bootstrap 4 实战案例 - 创建响应式网页
Bootstrap 4 实战案例 - 创建响应式网页 ¶
在学习了Bootstrap 4的各个组件和功能后,本章将通过一个完整的实例,教你如何创建一个简单而美观的响应式网页。这个实例将综合应用我们前面学习过的多种Bootstrap组件和工具。
最终效果预览 ¶
我们将创建一个包含导航栏、巨幕组件、两栏布局内容区和页脚的响应式网页。当在不同设备上查看时,布局会自动调整以适应不同的屏幕宽度。
页面结构 ¶
我们的页面由以下几个主要部分组成:
- 页面顶部的巨幕(Jumbotron)
- 响应式导航栏
- 主内容区(两栏布局)
- 页脚
HTML代码实现 ¶
下面是完整的HTML代码:
html
1<!DOCTYPE html>
2<html lang="zh-CN">
3<head>
4 <title>Bootstrap 4 实战案例</title>
5 <meta charset="utf-8">
6 <meta name="viewport" content="width=device-width, initial-scale=1">
7 <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
8 <script src="https://cdn.staticfile.org/jquery/3.4.1/jquery.min.js"></script>
9 <script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js"></script>
10 <script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
11 <style>
12 .fakeimg {
13 height: 200px;
14 background: #aaa;
15 display: flex;
16 align-items: center;
17 justify-content: center;
18 color: white;
19 font-size: 18px;
20 }
21 </style>
22</head>
23<body>
24
25<!-- 巨幕 -->
26<div class="jumbotron text-center" style="margin-bottom:0">
27 <h1>我的第一个 Bootstrap 4 页面</h1>
28 <p>重置浏览器窗口大小查看响应式效果!</p>
29</div>
30
31<!-- 导航栏 -->
32<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
33 <a class="navbar-brand" href="#">导航</a>
34 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar">
35 <span class="navbar-toggler-icon"></span>
36 </button>
37 <div class="collapse navbar-collapse" id="collapsibleNavbar">
38 <ul class="navbar-nav">
39 <li class="nav-item">
40 <a class="nav-link" href="#">首页</a>
41 </li>
42 <li class="nav-item">
43 <a class="nav-link" href="#">服务</a>
44 </li>
45 <li class="nav-item">
46 <a class="nav-link" href="#">关于我们</a>
47 </li>
48 <li class="nav-item">
49 <a class="nav-link" href="#">联系方式</a>
50 </li>
51 </ul>
52 </div>
53</nav>
54
55<!-- 内容区 -->
56<div class="container" style="margin-top:30px">
57 <div class="row">
58 <!-- 左侧边栏 -->
59 <div class="col-sm-4">
60 <h2>关于我</h2>
61 <h5>我的照片:</h5>
62 <div class="fakeimg">这边插入图像</div>
63 <p class="mt-3">我是一名Web开发者,热爱学习新技术...</p>
64
65 <h3 class="mt-4">常用链接</h3>
66 <p>这里是一些我常用的网站链接</p>
67 <ul class="nav nav-pills flex-column">
68 <li class="nav-item">
69 <a class="nav-link active" href="#">个人主页</a>
70 </li>
71 <li class="nav-item">
72 <a class="nav-link" href="#">GitHub</a>
73 </li>
74 <li class="nav-item">
75 <a class="nav-link" href="#">技术博客</a>
76 </li>
77 <li class="nav-item">
78 <a class="nav-link disabled" href="#">Twitter</a>
79 </li>
80 </ul>
81 <hr class="d-sm-none">
82 </div>
83
84 <!-- 右侧主内容 -->
85 <div class="col-sm-8">
86 <h2>最新项目</h2>
87 <h5>2023年10月15日发布</h5>
88 <div class="fakeimg">项目截图</div>
89 <p class="mt-3">项目简介</p>
90 <p>这是我最近完成的一个响应式网站项目,使用了Bootstrap 4框架。该项目包含多个页面和功能模块,完全适配移动设备和桌面端。</p>
91
92 <h2 class="mt-5">技术博客</h2>
93 <h5>2023年10月10日发布</h5>
94 <div class="fakeimg">博客特色图</div>
95 <p class="mt-3">最新文章摘要</p>
96 <p>在这篇文章中,我分享了使用Bootstrap 4开发响应式网站的经验和技巧,包括网格系统的高级应用、自定义组件的创建方法,以及性能优化的实践经验。</p>
97 </div>
98 </div>
99</div>
100
101<!-- 页脚 -->
102<div class="jumbotron text-center" style="margin-bottom:0; margin-top:30px">
103 <p>© 2023 我的Bootstrap网站 | 版权所有</p>
104 <p>
105 <a href="#">隐私政策</a> |
106 <a href="#">使用条款</a> |
107 <a href="#">联系我们</a>
108 </p>
109</div>
110
111</body>
112</html>
代码解析 ¶
1. 页面头部设置 ¶
html
1<!DOCTYPE html>
2<html lang="zh-CN">
3<head>
4 <title>Bootstrap 4 实战案例</title>
5 <meta charset="utf-8">
6 <meta name="viewport" content="width=device-width, initial-scale=1">
7 <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
8 <script src="https://cdn.staticfile.org/jquery/3.4.1/jquery.min.js"></script>
9 <script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js"></script>
10 <script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
11 <!-- 自定义CSS -->
12 <style>
13 .fakeimg {
14 height: 200px;
15 background: #aaa;
16 display: flex;
17 align-items: center;
18 justify-content: center;
19 color: white;
20 font-size: 18px;
21 }
22 </style>
23</head>
这里我们:
- 设置了文档类型和语言
- 添加了必要的meta标签,特别是viewport设置,这对响应式设计至关重要
- 引入了Bootstrap 4的CSS和JavaScript文件
- 创建了一个简单的自定义类
.fakeimg
用于显示占位图
2. 巨幕组件 ¶
html
1<div class="jumbotron text-center" style="margin-bottom:0">
2 <h1>我的第一个 Bootstrap 4 页面</h1>
3 <p>重置浏览器窗口大小查看响应式效果!</p>
4</div>
巨幕组件用于突出显示网站的主要内容或标语,这里我们使用了:
.jumbotron
类创建突出显示的盒子.text-center
类使文本居中- 设置
margin-bottom:0
移除默认的底部边距,使导航栏紧贴巨幕
3. 响应式导航栏 ¶
html
1<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
2 <a class="navbar-brand" href="#">导航</a>
3 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar">
4 <span class="navbar-toggler-icon"></span>
5 </button>
6 <div class="collapse navbar-collapse" id="collapsibleNavbar">
7 <ul class="navbar-nav">
8 <li class="nav-item">
9 <a class="nav-link" href="#">首页</a>
10 </li>
11 <!-- 其他导航项 -->
12 </ul>
13 </div>
14</nav>
这个导航栏具有以下特点:
- 在小屏幕设备上会折叠成一个汉堡菜单按钮
- 使用深色背景和白色文本
- 包含品牌标识和导航链接
4. 两栏布局内容区 ¶
html
1<div class="container" style="margin-top:30px">
2 <div class="row">
3 <div class="col-sm-4">
4 <!-- 左侧边栏内容 -->
5 </div>
6 <div class="col-sm-8">
7 <!-- 右侧主内容 -->
8 </div>
9 </div>
10</div>
这里我们使用Bootstrap的网格系统创建两栏布局:
- 在小屏幕及以上设备上,左侧栏占据4列,右侧栏占据8列
- 在超小屏幕设备上,两栏会堆叠显示
- 我们添加了
margin-top:30px
为内容区添加上边距
5. 页脚区域 ¶
html
1<div class="jumbotron text-center" style="margin-bottom:0; margin-top:30px">
2 <p>© 2023 我的Bootstrap网站 | 版权所有</p>
3 <p>
4 <a href="#">隐私政策</a> |
5 <a href="#">使用条款</a> |
6 <a href="#">联系我们</a>
7 </p>
8</div>
页脚使用了另一个jumbotron组件,包含了版权信息和一些页脚链接。
响应式设计要点 ¶
在这个示例中,我们实现响应式设计的关键点:
-
视口设置:
<meta name="viewport" content="width=device-width, initial-scale=1">
确保页面在移动设备上正确缩放。 -
响应式导航栏:使用
navbar-expand-sm
类,导航栏在小尺寸屏幕上会折叠为汉堡菜单。 -
网格系统:使用
col-sm-4
和col-sm-8
类创建响应式列,在小型设备及以上保持水平布局,在更小的设备上堆叠显示。 -
辅助类:使用
d-sm-none
类控制元素在不同设备上的显示与隐藏。
自定义扩展 ¶
你可以通过以下方式进一步扩展这个基本网页:
- 替换占位图
.fakeimg
为实际图像 - 添加更多内容区块,如产品展示、服务介绍等
- 增加联系表单、图片轮播等组件
- 使用自定义CSS优化视觉效果
总结 ¶
这个实例展示了如何使用Bootstrap 4创建一个简单而功能完备的响应式网页。通过组合使用巨幕、导航栏、网格系统和其他Bootstrap组件,我们能够快速构建出专业级别的网页布局。
随着你对Bootstrap的深入了解,可以进一步优化这个网页,添加更多组件和功能,创建更加复杂和精美的网站。