三、Flask学习之BootSrap

三、Flask学习之BootSrap

Bootstrap 是一款由Twitter团队开发的开源前端框架,它以响应式设计、移动端友好和丰富的组件为特色,为开发者提供了快速构建现代化网站和Web应用的工具。借助其灵活的栅格系统、丰富的UI组件和可定制的样式,Bootstrap成为了广受欢迎的选择,为开发者提供了快速、一致且具有吸引力的用户界面。

1.下载BootSrap

网址:Bootstrap中文网 (bootcss.com)

我这里下载的是v3版本:起步 · Bootstrap v3 中文文档 | Bootstrap 中文网 (bootcss.com)

选择“用于生产环境的 Bootstrap”下载,解压出来:

image-20240121095925826

将解压出来的文件复制到项目的根目录下使用

2.使用BootSrap

<head>部分加入这行代码:

<!--href是你存放下载好的BootSrap的文件夹-->
<link rel="stylesheet" href="static/plugins/bootstrap-3.4.1-dist/css/bootstrap.css">

然后可以应用BootSrap的样式了:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="static/plugins/bootstrap-3.4.1-dist/css/bootstrap.css">
</head>
<body>
<label><input type="button" class="btn-block" value="提交"><br><input type="button" class="btn-danger" value="提交"><br><input type="button" class="btn-default" value="提交"><br><input type="button" class="btn-primary" value="提交"><br><input type="button" class="btn-success" value="提交"><br><input type="button" class="btn-xs" value="提交"><br>
</label>
</body>
</html>

效果:

image-20240121101346945

3.导航

具体使用可以查看官方文档:组件 · Bootstrap v3 中文文档 | Bootstrap 中文网 (bootcss.com)

找到导航条,点击Copy:

image-20240121104419182

效果:

image-20240121104700185

4.栅格结构

Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>body {margin: 0;}</style><link rel="stylesheet" href="static/plugins/bootstrap-3.4.1-dist/css/bootstrap.css">
</head>
<body><div><div class="col-md-6" style="background-color: orange">.col-md-6</div><div class="col-md-6" style="background-color: pink">.col-md-6</div></div>
</body>
</html>

效果:

image-20240121190618388

官网中提供了四种不同的栅格,分别为:

超小屏幕 手机 (<768px)小屏幕 平板 (≥768px)中等屏幕 桌面显示器 (≥992px)大屏幕 大桌面显示器 (≥1200px)
总是水平排列开始是堆叠在一起的,当大于这些阈值时将变为水平排列C
None (自动)750px970px1170px
.col-xs-.col-sm-.col-md-.col-lg-

列偏移:应用栅格的时候,如果想让某个栅格往后移几个单位,可以选用此选项:

<div class="col-md-6 col-md-offset-3" style="background-color: orange">.col-md-6</div>

col-md-offset-3是指使用md类型的栅格偏移三个栅格(单位)。

5.container

BootSrap有两种container:

第一种:

<div class="container"><div class="col-sm-9">left</div><div class="col-sm-3">right</div>
</div>

这种container是能占用1170px的中间位置。

第二种:

<div class="container-fluid"><div class="col-sm-9">left</div><div class="col-sm-3">right</div>
</div>

这种container是能够浮动,但是需要消除浮动,需要再应用一个写好的样式:clearfix

6.面板

组件 · Bootstrap v3 中文文档 | Bootstrap 中文网 (bootcss.com)

代码:

<div class="container-fluid clearfix"><div class="col-sm-9">left</div><div class="col-sm-3"><div class="panel panel-default"><div class="panel-heading">编程学习</div><div class="panel-body">JAVA<br>C/C++<br>Python<br>PHP</div></div></div></div>

效果:

image-20240121193759607

官网中还支持多种不同形式的面板,这里以情景效果面板为例:

<div class="panel panel-primary"><div class="panel-heading">编程学习</div><div class="panel-body">JAVA<br>C/C++<br>Python<br>PHP</div>
</div>

效果:

image-20240121194108827

7.分页

代码:

<ul class="pagination"><li class="disabled"><a href="#" aria-label="Previous"><span aria-hidden="true">«</span></a></li><li class="active"><a href="#">1 <span class="sr-only">(current)</span></a></li><li><a href="#">2</a></li><li><a href="#">3</a></li><li><a href="#">4</a></li><li><a href="#">5</a></li><li><a href="#" aria-label="Next"><span aria-hidden="true">»</span></a></li>
</ul>

效果:

image-20240121195352753

8.表单

官网组件 · Bootstrap v3 中文文档 | Bootstrap 中文网 (bootcss.com)提供了多种表单,这里以最基本的为例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="static/plugins/bootstrap-3.4.1-dist/css/bootstrap.css"><style>.account {padding: 20px 90px;margin-top: 200px;border: 1px solid pink;border-radius: 5px}</style>
</head>
<body>
<div class="col-sm-offset-4 col-sm-4 account"><h3 style="margin-bottom: 20px;text-align: center;font-weight: bolder">用户登录</h3><form><div class="form-group"><label for="exampleInputEmail1">用户名</label><input type="text" class="form-control" id="exampleInputEmail1" placeholder="请输入用户名"></div><div class="form-group"><label for="exampleInputPassword1">密码</label><input type="password" class="form-control" id="exampleInputPassword1" placeholder="请输入密码"></div><div class="checkbox"><label><input type="checkbox"> 我已同意该协议</label></div><button type="submit" class="btn btn-primary">登 录</button></form>
</div>
</body>
</html>

效果:

image-20240121201525176

9.阴影

为了让表格看起来更加立体,可以为其应用阴影样式:

box-shadow: 3px 3px 3px #8c8c8c;

四个参数分别为水平方向,垂直方向,模糊距离,颜色

效果:
image-20240121201958755

10.图标

BootSrap支持图标设置,可选择图标有多种,官网均有提供:组件 · Bootstrap v3 中文文档

<span class="glyphicon glyphicon-th-list" aria-hidden="true"></span>

虽然官网内置了一部分图标,但是还不够多,所以有一个专门的组件来拓展图标。Font Awesome,一套绝佳的图标字体库和CSS框架 (dashgame.com),直接下载下来,解压到你项目的目录里就可以,然后引入:

<link rel="stylesheet" href="static/plugins/font-awesome-4.7.0/css/font-awesome.css">

然后去网站,找到你喜欢的图标应用就可以了。

11.案例

完整代码(使用时需要把BootSrap、Font Awesome路径替换为你自己对应的存储路径):

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>后台管理</title><link rel="stylesheet" href="static/plugins/bootstrap-3.4.1-dist/css/bootstrap.css"><link rel="stylesheet" href="static/plugins/font-awesome-4.7.0/css/font-awesome.css"><style>.navbar {border-radius: 0;}</style>
</head>
<body>
<nav class="navbar navbar-default"><div class="container"><!-- Brand and toggle get grouped for better mobile display --><div class="navbar-header"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse"data-target="#bs-example-navbar-collapse-1" aria-expanded="false"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a class="navbar-brand" href="#">后台服务</a></div><!-- Collect the nav links, forms, and other content for toggling --><div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"><ul class="nav navbar-nav"><li class="active"><a href="#">首页 <span class="sr-only">(current)</span></a></li><li><a href="#">菜单</a></li></ul><form class="navbar-form navbar-left"><div class="form-group"><label><input type="text" class="form-control" placeholder="Search"></label></div><button type="submit" class="btn btn-default">Submit</button></form><ul class="nav navbar-nav navbar-right"><li><a href="#">登录</a></li><li><a href="#">注册</a></li></ul></div><!-- /.navbar-collapse --></div><!-- /.container-fluid -->
</nav>
<div class="container"><div class="panel panel-default"><div class="panel-heading"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span>表单提交</div><div class="panel-body"><form class="form-inline"><div class="form-group"><label for="exampleInputName2">姓名</label><input type="text" class="form-control" id="exampleInputName2" placeholder="请输入姓名"></div><div class="form-group"><label for="exampleInputEmail2">学号</label><input type="text" class="form-control" id="exampleInputEmail2" placeholder="请输入学号"></div><button type="submit" class="btn btn-success"><i class="fa fa-save" aria-hidden="true"></i> 提 交</button></form></div></div><div class="panel panel-default"><div class="panel-heading"><span class="glyphicon glyphicon-th-list" aria-hidden="true"></span>数据库</div><div class="panel-body">VIP用户</div><table class="table table-bordered table-striped"><thead><tr><th></th><th>姓名</th><th>学号</th><th>操作</th></tr></thead><tbody><tr><th scope="row">1</th><td>Mark</td><td>Otto</td><td><a class="btn btn-primary btn-xs">编辑</a><a class="btn btn-danger btn-xs">删除</a></td></tr><tr><th scope="row">2</th><td>Jacob</td><td>Thornton</td><td><a class="btn btn-primary btn-xs">编辑</a><a class="btn btn-danger btn-xs">删除</a></td></tr><tr><th scope="row">3</th><td>Larry</td><td>the Bird</td><td><a class="btn btn-primary btn-xs">编辑</a><a class="btn btn-danger btn-xs">删除</a></td></tr></tbody></table></div><ul class="pagination"><li class="disabled"><a href="#" aria-label="Previous"><span aria-hidden="true">«</span></a></li><li class="active"><a href="#">1 <span class="sr-only">(current)</span></a></li><li><a href="#">2</a></li><li><a href="#">3</a></li><li><a href="#">4</a></li><li><a href="#">5</a></li><li><a href="#" aria-label="Next"><span aria-hidden="true">»</span></a></li></ul>
</div>
</body>
</html>

效果:

image-20240121215907885

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/639062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Dockerfile来构建服务的镜像,并部署在容器中

构建服务镜像和容器化部署 一、构建服务镜像1、编写Dockerfile2、构建脚本3、启动脚本 二、问题及解决办法1、no main manifest attribute, in /chatgpt-api-1.0-SNAPSHOT.jar2、如果是SpringBoot项目&#xff0c;应该这么做&#xff1a; 一、构建服务镜像 1、编写Dockerfile …

【web 编程技术】基于 B/S 架构的电商平台(java web)

基于 B/S 架构的电商平台&#xff08;java web&#xff09; 课程设计实验目的课程设计实验环境课程设计功能概述课程设计需求分析三层架构图功能列表系统用例图系统活动图-用户端需求分析 课程设计详细设计实现过程数据库BaseServlet 的实现商品显示模块-分页显示所有商品、查看…

Ranger概述及安装配置

一、前序 希望拥有一个框架,可以管理大多数框架的授权,包括: hdfs的目录读写权限各种大数据框架中的标的权限,列级(字段)权限,甚至行级权限,函数权限(UDF)等相关资源的权限是否能帮忙做书库脱敏Ranger框架应运而生。 二、Ranger 2.1、什么是ranger Apache Ranger…

适合初学者的 机器学习 资料合集(可快速下载)

AI时代已经来临&#xff0c;机器学习成为了当今的热潮。但是&#xff0c;很多人在面对机器学习时却不知道如何开始学习。 今天&#xff0c;我为大家推荐几个适合初学者的机器学习开源项目&#xff0c;帮助大家更好地了解和掌握机器学习的知识。这些项目都是开源的&#xff0c;…

压缩数据处理的艺术:Go语言compress库完全指南

压缩数据处理的艺术:Go语言compress库完全指南 引言compress库概览gzip的使用与示例bzip2的使用与示例flate的使用与示例lzw的使用与示例zlib的使用与示例结语引言 在当今数据驱动的世界里,有效的数据处理变得至关重要。特别是在互联网通信和数据存储领域,数据压缩技术发挥…

Mysql-全局锁、表锁、行锁

本文已收录于专栏 《数据库》 目录 全局锁概述说明开启方式应用场景 表锁概念说明实现方式意向锁 开启方式 行锁概念说明实现方式记录锁&#xff1a;间隙锁临键锁 总结提升 全局锁 概述说明 全局锁是是对整个数据库实例加锁&#xff0c;加锁后整个实例就处于只读状态&#xff…

立体视觉几何 (二)

1.视差 2.立体匹配 立体匹配的基本概念: 匹配目标: 在立体匹配中&#xff0c;主要目标是确定左图像中像素的右图像中的对应像素。这个对应像素通常位于相同的行。视差&#xff08;Disparity&#xff09;: 视差 d 是右图像中对应像素 xr 和左图像中像素 xl 之间的水平位置差。视…

对MODNet 主干网络 MobileNetV2的剪枝探索

目录 1 引言 1.1 MODNet 原理 1.2 MODNet 模型分析 2 MobileNetV2 剪枝 2.1 剪枝过程 2.2 剪枝结果 2.2.1 网络结构 2.2.2 推理时延 2.3 实验结论 3 模型嵌入 3.1 模型保存与加载 法一&#xff1a;保存整个模型 法二&#xff1a;仅保存模型的参数 小试牛刀 小结…

MSPM0L1306例程学习-UART部分(2)

MSPM0L1306例程学习系列 1.背景介绍 写在前边的话&#xff1a; 这个系列比较简单&#xff0c;主要是围绕TI官网给出的SDK例程进行讲解和注释。并没有针对模块的具体使用方法进行描述。所有的例程均来自MSPM0 SDK的安装包&#xff0c;具体可到官网下载并安装: https://www.ti…

YOLOv8改进 | 主干篇 | 低照度图像增强网络SCINet改进黑暗目标检测(全网独家首发)

一、本文介绍 本文给大家带来的改进机制是低照度图像增强网络SCINet,SCINet(自校正照明网络)是一种专为低光照图像增强设计的框架。它通过级联照明学习过程和权重共享机制来处理图像,优化了照明部分以提升图像质量。我将该网络集成在YOLOv8的主干上针对于图像的输入进行增…

【QT+QGIS跨平台编译】之三:【OpenSSL+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、OpenSSL介绍二、OpenSSL配置三、Window环境下配置四、Linux环境下配置五、Mac环境下配置 一、OpenSSL介绍 OpenSSL是一个开放源代码的软件库包&#xff0c;应用程序可以使用这个包来进行安全通信&#xff0c;避免窃听&#xff0c;同时确认另一端连接者的身份。这…

vectorCast手动添加测试用例配置输入参数和期望值

1.选中函数&#xff0c;点击右键选择插入测试用例。这里所选择的插入测试用例区别于之前的测试用例的地方在于&#xff0c;这里插入测试用例是手动配置的&#xff0c;之前的是自动生成的。手动配置可以自定义选择输入参数和期望值。 2.添加测试用例后&#xff0c;点击测试用例&…

Mybatis 动态SQL删除操作

实现动态删除多个数据,这里我们需要用到 foreach 标签,这个标签还可以运用到批量插入,反正需要对集合进行遍历时就可以使用该标签,标签有如下属性 : 新建了一个 userInfo2Mapper 接口,然后写下如下代码,声明 batchDelete 方法 package com.example.mybatisdemo.mapper; import…

城市道路智慧养护顶层设计建议书

项目通过对国家在推动智慧交通领域的健康发展上发布的如&#xff1a;《交通强国建设纲要》、《推进综合交通运输大数据发展行动纲要(2020-2025年)》、《数字交通发展规划纲要》等相关政策的深入理解与研究&#xff0c;结合“互联网”、“智能化”、“智慧化”等理念,对国家提出…

【算法】利用模拟算法、规律解算法题(C++)

文章目录 1. 前言2. 算法题1576.替换所有的问号495.提莫攻击6.Z字形变换38.外观数列1419.数青蛙 1. 前言 模拟算法 即模拟问题过程来解决问题的算法。 对于一些算法题&#xff0c;我们只需要将题目的过程 用代码编写出来&#xff0c;再结合其他方法&#xff0c;就可以解决。 …

Geogebra绘制分段函数、导数

分段函数绘制 一、下载Geogebra6&#xff0c;输入下面的代码: f(x)x g(x)sin(x) h(x)x^3 p(x)如果(x<0, f(x), x<2, h(x), g(x)) 二、我们会得到下面的图 三、把左边的三个圆圈点击取消掉&#xff0c;右侧就变成了分段函数 导数绘制 f(x)x^3-4x^2x-6 f 效果如下&…

JavaSE复习流程

一.初识JAVA 1.JAVA语言之父--高斯林。 2.javac--字节码文件 3.注释&#xff1a;单行注释&#xff0c;多行注释&#xff0c;文档注释。 二.数据类型与变量 1.数据类型 类型 byte shortintlongfloatdoublecharboolean大小1字节2字节4字节8字节4字节8字节1字节包装类型Byt…

SCTP, TCP, UDP, IP, ICMP都在哪一层?(TCP/IP网络通信协议学习)

TCP/IP网络通信协议最早是由罗伯特卡恩&#xff08;Robert E. Kahn&#xff09;和文顿瑟夫&#xff08;Vinton G. Cerf&#xff09;于1972年提出的&#xff0c;它是一个实际的协议栈。 OSI七层网络通信协议最早是由国际标准化组织&#xff08;ISO&#xff09;于1977年提出的&am…

使用AFPN渐近特征金字塔网络优化YOLOv8改进小目标检测效果(不适合新手)

目录 简单概述 算法概述 优化效果 参考文献 文献地址&#xff1a;paper 废话少说&#xff0c;上demo源码链接&#xff1a; 简单概述 AFPN的核心思想&#xff1a;AFPN主要通过引入渐近的特征融合策略&#xff0c;逐步整合底层、高层和顶层的特征到目标检测过程中。这种融合…

文件上传笔记整理

文件上传 web渗透的核心&#xff0c;内网渗透的基础 通过上传webshell文件到对方的服务器来获得对方服务器的控制权 成功条件 文件成功上传到对方的服务器&#xff08;躲过杀软&#xff09; 知道文件上传的具体路径 上传的文件可以执行成功 文件上传的流程 前端JS对上传文件进行…