爬虫训练场项目,1小时掌握 Bootstrap 网格系统
项目设计图概览
爬虫训练场项目的基本呈现为方块布局,然后点击每个卡片可以进入待爬取目标页。通过设计软件对页面进行简单规划,草图如下。
为了实现该效果,本篇博客会带着大家串一下 Bootstrap5 相关技术点,如果你需要本部分知识点,正好可以一起学起来。
Bootstrap 串讲
Bootstrap5 安装使用
如果你的服务器带宽不足,建议使用 Bootstrap 的 CDN 地址提高访问速度,一般调用如下三个文件即可。
bootstrap.min.css
:核心 CSS 文件;popper.min.js
:用于弹窗,提示,下拉菜单等组件的 JS 文件文件;bootstrap.min.js
:核心 JS 文件。
如果直接使用 bootstrap.bundle.min.js
文件,可以忽略 popper.min.js
及其它以来脚本。
在上一篇博客,我们已经建立了第一个 Bootstrap 5 页面,这次从零开始重新学习一下。
Bootstrap 要求使用 HTML5 文件类型,所以需要添加 HTML5 doctype 声明。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
</html>
接下来再配置一下移动设备优先,在 head
标签中添加 viewport meta
标签。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
</html>
其中 width=device-width
表示宽度是设备屏幕的宽度,initial-scale=1
表示初始的缩放比例。
在编写 Bootstrap5
页面的时候,一般还需要一个容器元素来包裹整个网站内容,常用容器类如下:
container
:固定宽度并支持响应式的布局容器;container-fluid
:宽度 100%的窗口容器。
示例代码如下所示,案例都在 Python Flask 框架模板中实现。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>爬虫训练场,版权:梦想橡皮擦</title>
<link
rel="stylesheet"
href="https://cdn.staticfile.org/twitter-bootstrap/5.1.1/css/bootstrap.min.css"
/>
</head>
<body>
<div class="container">
<h1>爬虫训练场项目,Bootstrap 知识点学习</h1>
<p>为了搭建页面,我们需要补充 Bootstrap 相关知识点</p>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
如果对容器细节再进行学习,container
类用于创建固定宽度响应式页面,其宽度会根据屏幕宽度同比例放大或缩小,其 max-width
属性变化如下。
超级小屏幕:<576px
:100%;小屏幕 ≥576px
:540px;中等屏幕 ≥768px
:720px;大屏幕 ≥992px
:960px;特大屏幕 ≥1200px
:1140px;超级大屏幕 ≥1400px
:1320px;
container-fluid
创建一个全屏幕尺寸容器,容器始终占整个屏幕宽度,如果希望设置容器内边距,可以使用 .pt-5
类属性。
掌握该属性之后,其对应的一组属性也要掌握,分别如下:
.p-*
:*
可取值为 0~5,表示内边距取值分别为 0, 0.25rem, 0.5rem, 1rem, 1.5rem, 3rem;.pt-*
:*
可取值为 0~5,顶部内边距;.pb-*
:右侧内边距;.ps-*
:底部内边距;.pe-*
:左侧内边距;.px-*
:左右内边距;.py-*
:上下内边距。
可以在代码中进行一下测试,例如下述代码。
<div class="container pt-1 bg-primary text-white">
<h1>爬虫训练场项目,Bootstrap 知识点学习</h1>
<p>为了搭建页面,我们需要补充 Bootstrap 相关知识点</p>
</div>
<div class="container pt-3 bg-primary text-white">
<h1>爬虫训练场项目,Bootstrap 知识点学习</h1>
<p>为了搭建页面,我们需要补充 Bootstrap 相关知识点</p>
</div>
运行代码可以看到内边距变化,上述代码还用到了容器背景色和前景色设置,即 bg-*
和 text-*
两个属性,在图片后,也对该属性进行了说明。
使用 .bg-*
和 .text-*
属性,*
的取值如下所示,对应的颜色在代码后展示。
$theme-colors: (
"primary": $primary,
"secondary": $secondary,
"success": $success,
"info": $info,
"warning": $warning,
"danger": $danger,
"light": $light,
"dark": $dark
);
.text-*
属性的颜色值多几个,分别如下。
.text-muted
:柔和颜色;.text-black-50
:黑色半透明;.text-white-50
:白色半透明;.text-body
:主体颜色
Bootstrap5 网格系统
Bootstrap 提供了一整套响应式,移动设备优先的流式网格系统,页面最多允许 12 列,为完成该目标,Bootstrap 提供了 6 个类,分别如下。
.col-*
:超小型设备,屏幕宽度小于 576px;.col-sm-
:小型设备,屏幕宽度等于或大于 576px;.col-md-
:中型设备;.col-lg-
:大型设备;.col-xl-
:特大设备;.col-xxl-
:超大设备。
实践中可以组合上述类,完成目标。
接下来我们就完成网格结构的基本学习。
第一种编写方式,控制列的宽度在不同设备上显示,结构代码如下。
<div class="row">
<div class="col-*-*"></div>
<div class="col-*-*"></div>
<div class="col-*-*"></div>
</div>
其中第一个 *
表示设备,可选 sm
,md
,lg
,xl
,xxl
等内容,第二个 *
为一个数字,同一行相加等于 12
。
例如我们使用 sm
配置 4 个 div,代码实现如下。
<div class="container">
<div class="row">
<div class="col-sm-6 bg-primary">
<h3>爬虫训练场项目</h3>
</div>
<div class="col-sm-6 bg-info">
<h3>爬虫训练场项目</h3>
</div>
</div>
</div>
运行代码得到下图效果,在此基础上,增加 md
配置。
<div class="container">
<div class="row">
<div class="col-sm-6 col-md-4 bg-primary">
<h3>爬虫训练场项目</h3>
</div>
<div class="col-sm-6 col-md-8 bg-info">
<h3>爬虫训练场项目</h3>
</div>
</div>
</div>
拖动浏览器,可以看到页面布局的变化,如果希望继续调整,只需要适配 lg
,xl
等属性即可完成任务,这里不再一一展示。
实战的时候,可以不在每个 col
上添加数字,而是由 bootstrap 自动实现。代码如下。
<div class="row">
<div class="col"><h3>爬虫训练场项目</h3></div>
<div class="col"><h3>爬虫训练场项目</h3></div>
<div class="col"><h3>爬虫训练场项目</h3></div>
</div>
除了上述写法外,还可以实现嵌套列,注意嵌套列也是按照 12 份进行分割。
<div class="container">
<div class="row">
<div class="col-8 bg-success p-4">
爬虫训练场
<div class="row">
<div class="col-6 bg-info p-2">左分割</div>
<div class="col-6 bg-secondary p-2">右分割</div>
</div>
</div>
<div class="col-4 bg-primary p-4">尾部4份</div>
</div>
</div>
📢📢📢📢📢📢
💗 你正在阅读 【梦想橡皮擦】 的博客
👍 阅读完毕,可以点点小手赞一下
🌻 发现错误,直接评论区中指正吧
📆 橡皮擦的第 795 篇原创博客
- 点赞
- 收藏
- 关注作者
评论(0)