【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 语言开发类库的接口学习曲线陡峭原生并不支持水平扩展原生并不支持水…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
xmind转换为markdown
文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...
【Zephyr 系列 16】构建 BLE + LoRa 协同通信系统:网关转发与混合调度实战
🧠关键词:Zephyr、BLE、LoRa、混合通信、事件驱动、网关中继、低功耗调度 📌面向读者:希望将 BLE 和 LoRa 结合应用于资产追踪、环境监测、远程数据采集等场景的开发者 📊篇幅预计:5300+ 字 🧭 背景与需求 在许多 IoT 项目中,单一通信方式往往难以兼顾近场数据采集…...
HTML版英语学习系统
HTML版英语学习系统 这是一个完全免费、无需安装、功能完整的英语学习工具,使用HTML CSS JavaScript实现。 功能 文本朗读练习 - 输入英文文章,系统朗读帮助练习听力和发音,适合跟读练习,模仿学习;实时词典查询 - 双…...
C#中用于控制自定义特性(Attribute)
我们来详细解释一下 [AttributeUsage(AttributeTargets.Class, AllowMultiple false, Inherited false)] 这个 C# 属性。 在 C# 中,Attribute(特性)是一种用于向程序元素(如类、方法、属性等)添加元数据的机制。Attr…...
