【Bootstrap学习 day13】
Bootstrap5 下拉菜单
下拉菜单通常用于导航标题内,在用户鼠标悬停或单击触发元素时显示相关链接列表。
基础的下拉列表
<div class="dropdown"><button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown">下拉按钮</button><ul class="dropdown-menu"><li><a class="dropdown-item" href="#">链接 1</a></li><li><a class="dropdown-item" href="#">链接 2</a></li><li><a class="dropdown-item" href="#">链接 3</a></li></ul>
</div>
Bootstrap下拉菜单基本上有两个组件–下拉触发元素(可以是超链接或按钮)和下拉菜单本身.dropdown类只是下拉菜单.
如需打开下拉菜单,使用设置.dropdown-toggle类,.dropdown-toggle类定义了触发器元素,而触发器元素上需要属性data-bs-toggle="dropdown"来切换下拉菜单.
带有.dropdown-menu类的<div>元素可构建下拉菜单。然后将.dropdown-item类添加到下拉菜单中的每个元素(链接或按钮)。
下拉列表分隔线
.dropdown-divider类用于通过水平细边框分隔下拉菜单中的链接
.dropdown-header向下拉菜单的标签区域添加标题
<div class="dropdown"><button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown">下拉按钮</button><ul class="dropdown-menu"><li><a class="dropdown-item" href="#">链接 1</a></li><li><a class="dropdown-item" href="#">链接 2</a></li><li><a class="dropdown-item" href="#">链接 3</a></li><li class="dropdown-divider">下拉菜单标题</li><li><a class="dropdown-item" href="#">分离的链接</a></li></ul>
</div>
导航中的下拉菜单
<ul class="nav"><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 dropdown"><a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#">前端</a><ul class="dropdown-menu"><li><a class="dropdown-item" href="#">HTML</a><li><li><a class="dropdown-item" href="#">HTML</a><li><li><a class="dropdown-item" href="#">HTML</a><li></ul></li><li class="nav-item"><a class="nav-link disabled" href="#">禁用</a></li>
</ul>
表单
HTML表单是网页和应用程序不可或缺的一部分。Bootstrap通过预定义的类集极大地简化了表单控件(如标签、输入字段、选择框、文本区域、按钮等)的样式设置和对齐过程。
三种不同类型的表单布局:
- 垂直表单(默认)
- 水平表单
- 内联表单
创建垂直表单布局
基本的表单结构是Bootstrap自带的,个别的表单控件自动接收一些全局样式,把标签和空间放在一个带有class .form-group的
label元素添加了.form-label类以确保正确的填充。
向所有的文本元素<input><textarea>添加class=“form-control”。
<form><div class="form-group"><label class="form-label">名称</label><input type="text" class="form-control" placeholder="请输入名称"></div><div class="form-group"><label class="form-label">Email</label><input type="email" class="form-control" placeholder="Email"></div><button type="submit" class="btn btn-primary">提交</button>
</form>
创建内联表单
表单元素并排显示,可以使用.row和.col
<form><div class="row"><div class="col"><input type="text" class="form-control" placeholder="请输入名称"></div><div class="col"><input type="email" class="form-control" placeholder="Email"></div></div>
</form>
表单控件尺寸
.form-control-lg或.form-control-sm更改.form-control输入控件的大小
<input type="text" class="form-control form-control-lg" placeholder="大型输入控件">
<input type="text" class="form-control" placeholder="普通输入控件">
<input type="text" class="form-control form-control-sm" placeholder="小型输入控件">
向表单控件添加帮助文本
<div class="row"><div class="col-auto"><label class="col-form-label" for="inputPassword">Password</label></div><div class="col-auto"><input type="password" class="form-control"></div><div class="col-auto"><span class="form-text">必须8-20个字符长.</span></div>
</div>
选择菜单
通过将.form-select类添加到<select>元素
<select class="form-select"><option>选项1</option><option>选项2</option><option>选项3</option><option>选项4</option>
</select>
选择菜单的大小
使用.form-select-lg或.form-select-sm类来改变选择菜单的大小
<select class="form-select form-select-lg"></select>
<select class="form-select form-select-sm"></select>
复选框和单选按钮
复选框有不同的标记,它们被设置了.form-check类的容器元素包围.label设置.form-check-label类,而复选框和单选按钮使用.form-check-input。希望默认选中复选框,可以使用checked属性。
复选框
使用class="form-check"的包装元素,来确保标签和复选框有适当的外边距
<div class="form-check"><input class="form-check-input" type="checkbox" checked><label class="form-check-label">选项1</label>
</div>
<div class="form-check"><input class="form-check-input" type="checkbox"><label class="form-check-label">选项2</label>
</div>
<div class="form-check"><input class="form-check-input" type="checkbox"><label class="form-check-label">选项3</label>
</div>
单选按钮
<div class="form-check"><input class="form-check-input" type="radio" name="option1" checked>选项1<label class="form-check-label"></label>
</div>
<div class="form-check"><input class="form-check-input" type="radio" name="option1" checked>选项2<label class="form-check-label"></label>
</div>
<div class="form-check"><input class="form-check-input" type="radio" name="option1" checked>选项3<label class="form-check-label"></label>
</div>
拨动开关
将复选框设置为切换开关的样式,可以将.form-switch类与.form-check容器一起使用
<div class="form-switch"><input class="form-check-input" type="checkbox" checked><label class="form-check-label">开关</label>
</div>
滑块
.form-range类添加到type="range"的input元素,可以设置范围菜单的样式
<label class="form-label">开关</label><input class="form-range" type="range" checked>
表单组
.input-group类是一种容器,通过在输入字段的前面或后面添加图标、文本或按钮作为“帮助文本”来增强输入。.input-group-text类指定帮助文本的样式.
<div class="input-group"><span class="input-group-text">用户名</span><input type="text" class="form-control" placeholder="用户名">
</div>
<div class="input-group"><input type="text" class="form-control" placeholder="请输入邮箱"><span class="input-group-text">@qq.com</span>
</div>
输入组大小
.input-group-sm类用于小型输入组,将.input-group-lg用于大型输入组
<div class="input-group input-group-sm"><span class="input-group-text">用户名</span><input type="text" class="form-control" placeholder="用户名">
</div>
<div class="input-group"><input type="text" class="form-control" placeholder="请输入邮箱"><span class="input-group-text">@qq.com</span>
</div>
多个输入
<div class="input-group"><span class="input-group-text">输入姓名</span><input type="text" class="form-control" placeholder="姓"><input type="text" class="form-control" placeholder="名">
</div>
带复选框和单选框的输入组
<div class="input-group"><div class="input-group-text"><input type="checkbox"></div><input type="text" class="form-control" placeholder="这是内容">
</div><div class="input-group"><div class="input-group-text"><input type="radio"></div><input type="text" class="form-control" placeholder="这是内容">
</div>
带按钮的输入组
<div class="input-group"><input type="text" class="form-control" placeholder="搜索"><button class="btn btn-success" type="submit">搜索</button>
</div><div class="input-group"><input type="text" class="form-control" placeholder="请输入内容"><button class="btn btn-primary" type="button">搜索</button>
</div>
带下拉按钮的输入组
<div class="input-group"><button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown">下拉按钮 </button><ul class="dropdown-menu"><li><a class="dropdown-item" href="#">链接1</a></li><li><a class="dropdown-item" href="#">链接2</a></li><li><a class="dropdown-item" href="#">链接3</a></li></ul>
</div>
卡片
卡片提供了一个灵活的、可扩展的内容容器。可以通过类.card与.card-body可以快速创建一个简单的卡片,卡片可以包含头部、内容、底部以及各种颜色设置。
创建基本的卡片
外部包装器需要基类.card,而内容可以放置在.card-body元素内
<div class="card"><div class="card-body">基础的卡片</div>
</div>
页眉和页脚
<div class="card"><div class="card-header">页眉</div><div class="card-body">内容</div><div class="card-footer">页脚</div>
</div>
带有标题、文本和链接的卡片
<div class="card w-60"><div class="card-header">页眉</div><div class="card-body"><h4 class="card-title">卡片标题</h4><p class="card-text">这是一些文本</p><a href="#" class="card-link">卡片链接</a></div><div class="card-footer">页脚</div>
</div>
卡片图像
可以给<img>添加.card-img-top使图片位于文字上方,或添加.card-img-bottom使图片位于文字下方来设置卡片中图片的位置。
<div class="card" style="width:300px"><div class="card-header">页眉</div><img class="card-img-top" src="avatar.png"><div class="card-body"><h4 class="card-title">卡片标题</h4><p class="card-text">这是一些文本</p><a href="#" class="card-link">卡片链接</a></div><div class="card-footer">页脚</div>
</div>
图像作为卡片背景
将图像转换为卡片背景并使用.card-img-overlay并叠加卡片的文字
<div class="card" style="width:300px"><img class="card-img-top" src="avatar.png"><div class="card-img-overlay"><h4 class="card-title">卡片标题</h4><p class="card-text">这是一些文本</p><a href="#" class="card-link">卡片链接</a></div>
</div>
相关文章:

【Bootstrap学习 day13】
Bootstrap5 下拉菜单 下拉菜单通常用于导航标题内,在用户鼠标悬停或单击触发元素时显示相关链接列表。 基础的下拉列表 <div class"dropdown"><button type"button" class"btn btn-primary dropdown-toggle" data-bs-toggl…...
Shell:常用命令之dirname与basename
一、介绍 1、dirname命令用于去除文件名中的非目录部分,删除最后一个“\”后面的路径,显示父目录。 语法:dirname [选项] 参数 2、basename命令用于打印目录或者文件的基本名称,显示最后的目录名或文件名。 语法:basen…...

Linux-v4l2框架
框架图 从上图不难看出,v4l2_device作为顶层管理者,一方面通过嵌入到一个video_device中,暴露video设备节点给用户空间进行控制;另一方面,video_device内部会创建一个media_entity作为在media controller中的抽象体&a…...
VPC网络架构下的网络上数据采集
介绍 想象这样一个场景,一开始在公司里,所有的部门的物理机、POD都在一个经典网络内,它们可以通过 IP 访问彼此,没有任何限制。因此有很多系统基于此设计了很多点对点 IP 直连的访问,比如中心控制服务器 S 会主动访问物…...

模拟算法(模拟算法 == 依葫芦画瓢)万字
模拟算法 基本思想引入算法题替换所有的问号提莫攻击Z字形变换外观数列数青蛙 基本思想 模拟算法 依葫芦画瓢解题思维要么通俗易懂,要么就是找规律,主要难度在于将思路转换为代码。 特点:相对于其他算法思维,思路比较简单&#x…...

QtApplets-SystemInfo
QtApplets-SystemInfo 今天是2024年1月3日09:18:44,这也是2024年的第一篇博客,今天我们主要两件事,第一件,获取系统CPU使用率,第二件,获取系统内存使用情况。 这里因为写博客的这个本本的环境配置不…...
vue3防抖函数封装与使用,以指令的形式使用
utils/debounce.js /*** 防抖函数* param {*} fn 函数* param {*} delay 暂停时间* returns */ export function debounce(fn, delay 500) {let timer nullreturn function (...args) {// console.log(arguments);// const args Array.from(arguments)if (timer) {clearTim…...

Hive学习(13)lag和lead函数取偏移量
hive里面lag函数 在数据处理和分析中,窗口函数是一种重要的技术,用于在数据集中执行聚合和分析操作。Hive作为一种大数据处理框架,也提供了窗口函数的支持。在Hive中,Lag函数是一种常用的窗口函数,可以用于计算前一行…...
Centos Unable to verify the graphical display setup
ERROR: Unable to verify the graphical display setup. 在Linux下安装Oracle时 运行 ./runInstaller 报错 ERROR: Unable to verify the graphical display setup. This application requires X display. Make sure that xdpyinfo exist under PATH variable. No X11 DISPL…...
Java 说一下 synchronized 底层实现原理?
Java 说一下 synchronized 底层实现原理? synchronized 是 Java 中用于实现同步的关键字,它保证了多个线程对共享资源的互斥访问。底层实现涉及到对象头的 Mark Word 和锁升级过程。 synchronized 可以用于方法上或代码块上,分别对应于方法…...

nginx访问路径匹配方法
目录 一:匹配方法 二:location使用: 三:rewrite使用 一:匹配方法 location和rewrite是两个用于处理请求的重要模块,它们都可以根据请求的路径进行匹配和处理。 二:location使用: 1:简单匹配…...
偌依 项目部署及上线步骤
准备实验环境,准备3台机器 1.作为前端服务器,mysql,redis服务器--同时临时作为代码打包服务器 192.168.2.65 nginx-server 2.作为后端服务器 192.168.2.66 java-server-1 192.168.2.67 java-server-2 安装nginx/mysql #安装nginx [rootweb-nginx ~]…...
PHP特性知识点扫盲 - 上篇
概述 之前在分析thinkphp源码的时候,对依赖注入等等php高级的特性一直想做一个梳理和总结,一直没有时间,好不容易抽一点时间对技术的盲点做一个扫盲和总结。 特性 1.命名空间 命名空间是在PHP5.3中引入,是一个很重要的工具&am…...

Docker一键极速安装Nacos,并配置数据库!
1 部署方式 1.1 DockerHub javaedgeJavaEdgedeMac-mini ~ % docker run --name nacos \ -e MODEstandalone \ -e JVM_XMS128m \ -e JVM_XMX128m \ -e JVM_XMN64m \ -e JVM_MS64m \ -e JVM_MMS64m \ -p 8848:8848 \ -d nacos/nacos-server:v2.2.3 a624c64a1a25ad2d15908a67316d…...

交换机04_远程连接
通过远程管理方式连接交换机 1、telnet简介 telnet 是应用层协议 基于传输层TCP协议的,默认端口:23 采用的是明文密码方式 不是很安全,一般用于内网管理。 2、ssh协议简介 ssh 是应用层的协议,基于传输层的TCP协议&#x…...
ES6定义一个类(函数内部定义属性,,原型定义方法 ), 实现继承?
ES6中使用class关键字定义一个类,使用extends关键字实现继承。下面是一个示例: class Animal {constructor(name) {this.name name;}sayHello() {console.log(Hello, my name is ${this.name});} }class Dog extends Animal {constructor(name, breed)…...

使用 Process Explorer 和 Windbg 排查软件线程堵塞案例分享
目录 1、问题说明 2、线程堵塞的可能原因分析 3、使用Windbg和Process Explorer确定线程中发生了死循环 4、根据Windbg中显示的函数调用堆栈去查看源码,找到问题 4.1、在Windbg定位发生死循环的函数的方法 4.2、在Windbg中查看变量的值去辅助分析 4.3、是循环…...

“智慧”千里眼助力水泵站
泵站是为水提供势能和压能,解决无自流条件下的排灌、供水和水资源调配问题的唯一动力来源,在工农业用水、防洪、排涝和抗旱减灾等方面发挥着重要作用。一旦出现异常,对经济生产将造成难以估量的损失,给水利安全管理造成负担。因此…...

C++多态性——(5)运算符重载(第二节)
归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言📝 身先才能率人,律己才能服人…...

ES -极客学习
Elasticsearch 简介及其发展历史 起源 Lucene 于 Java 语言开发的搜索引擎库类创建于 1999 年,2005 年成为 Apache 顶级开源项目Lucene 具有高性能、易扩展的优点Lucene 的局限性 只能基于 Java 语言开发类库的接口学习曲线陡峭原生并不支持水平扩展原生并不支持水…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...

学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...