bootstrap5-学习笔记2-模态框+弹窗+tooltip+popover+信息提示框

参考:
Bootstrap5 教程 | 菜鸟教程
https://www.runoob.com/bootstrap5/bootstrap5-tutorial.html

Bootstrap 入门 · Bootstrap v5 中文文档 v5.3 | Bootstrap 中文网
https://v5.bootcss.com/docs/getting-started/introduction/


之前用bootstrap2和3比较多,最近用到了5,发现好多地方不一样了,所以学习一下。主要写没用过的特性,随缘更新。

目录

    • 模态框
      • 标准模式
      • 变体
    • 消息弹窗toasts
    • tooltip
    • popover
    • 信息提示框

模态框

最明显的一个区别是跟模态框关联的<a>之类的元素,上面写data-toggledata-targert变了:

<a class="text-warning" data-bs-toggle="modal" data-bs-target="#模态框名称">

标准模式

<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#myModal">
  打开模态框
</button>
  
<!-- 模态框 -->
<div class="modal fade" id="myModal">
  <div class="modal-dialog">
    <div class="modal-content">
 
      <!-- 模态框头部 -->
      <div class="modal-header">
        <h4 class="modal-title">模态框标题</h4>
        <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
      </div>
 
      <!-- 模态框内容 -->
      <div class="modal-body">
        模态框内容..
      </div>
 
      <!-- 模态框底部 -->
      <div class="modal-footer">
        <button type="button" class="btn btn-danger" data-bs-dismiss="modal">关闭</button>
      </div>
 
    </div>
  </div>
</div>

变体

可以通过.fade设置模态框弹出效果,就是模态框本身的<div>。如果要有动画,写成class="modal fade"

<!-- 不使用动画效果 -->
<div class="modal"></div>

尺寸:在 moal-dialog 上使用 .modal-sm|.modal-lg|.modal-xl|.modal-fullscreen

居中显示:在 moal-dialog 上使用 .modal-dialog-centered

滚动条:如果内容太长,页面会自动生成滚动,如果需要模态框带一个滚动条,在 moal-dialog 上使用.modal-dialog-scrollable

消息弹窗toasts

  <div class="toast show">
    <div class="toast-header">
      <strong class="me-auto">弹窗标题</strong>
      <button type="button" class="btn-close" data-bs-dismiss="toast"></button>
    </div>
    <div class="toast-body">
      <p>这是一个Bootstrap 5弹窗示例。</p>
    </div>
  </div>

效果:
在这里插入图片描述
如果要所有toast都显示,这样初始化:

document.getElementById("toastbtn").onclick = function() {
  var toastElList = [].slice.call(document.querySelectorAll('.toast'))
  var toastList = toastElList.map(function(toastEl) {
    return new bootstrap.Toast(toastEl)
  })
  toastList.forEach(toast => toast.show())
}

如果希望点击一个按钮,在页面右下角显示一个弹窗:

    <div class="container mt-5">
        <button class="btn btn-primary" onclick="showToast()">显示弹窗</button>
    </div>

    <div class="position-fixed bottom-0 end-0 p-3">
        <div id="toast" class="toast" role="alert" aria-live="assertive" aria-atomic="true">
            <div class="toast-header">
                <strong class="me-auto">弹窗标题</strong>
                <button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
            </div>
            <div class="toast-body">
                这是一个Bootstrap 5弹窗示例。
            </div>
        </div>
    </div>
	<script>
        function showToast() {
            var toast = new bootstrap.Toast(document.getElementById('toast'));
            toast.show();
        }
    </script>

tooltip

  1. 在js要初始化哪个元素调用tooltip()
    如果要任何地方都可以用tooltip,则需要写:
    var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
    var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
    	return new bootstrap.Tooltip(tooltipTriggerEl)
    })
    
  2. 向元素添加data-bs-toggle="tooltip",title里写内容,data-bs-placement属性指定位置,写top/bottom/left/right

popover

弹出框是鼠标点击后呈现的。可以分为title和content,比tooltip展示的内容更多

需要在任何地方使用popover也需要写:

var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
  return new bootstrap.Popover(popoverTriggerEl)
})

其他使用方法与tooltip一致。

另外,一般是再次点击可以关闭弹出框,如果希望点击页面其他地方即可关闭,这样写:(加data-bs-trigger="focus")

<a href="#" title="取消弹出框" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-content="点击文档的其他地方关闭我">点我</a>

如果连点击都不想要,只要鼠标hover就显示,出去就消失,那么这样写:data-bs-trigger="hover"

信息提示框

标准:

<div class="alert alert-success">
    <strong>成功!</strong> 指定操作成功提示信息。
</div>

显示结果:
在这里插入图片描述

  • 可以修改颜色:用.alert-info|warning|danger|primary|secondary|dark|light
  • 需要关闭:
<div class="alert alert-success alert-dismissible">
    <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
    <strong>成功!</strong> 指定操作成功提示信息。
 </div>
  • 使用.fade.show表示关闭时淡入和淡出效果:<div class="alert alert-success alert-dismissible fade show">

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

15.使用Ollydbg分析处理hp减伤害的函数

上一个内容&#xff1a;14.Ollydbg的基本使用 在 9.游戏中真正的无敌 里找了处理hp减伤害函数的方法 Ollydbg对hp减伤害函数打一个断点&#xff0c;然后一步一步分析数据&#xff0c;下图是进入了hp减伤害函数之后被断点主的样子&#xff0c;然后这时的ecx是人物this地址&…

【刷题】初探递归算法 —— 消除恐惧

送给大家一句话&#xff1a; 有两种东西&#xff0c; 我对它们的思考越是深沉和持久&#xff0c; 它们在我心灵中唤起的惊奇和敬畏就会日新月异&#xff0c; 不断增长&#xff0c; 这就是我头上的星空和心中的道德定律。 -- 康德 《实践理性批判》 初探递归算法 1 递归算…

前端逆向之查看接口调用栈

一、来源 再分析前端请求接口数据的时候&#xff0c;其中有一个sid不知道是前端如何获取的&#xff0c;一般情况下只需要全局搜搜sid这个字符串或者请求接口的名称就可以了&#xff0c;基本都能找到sid的来源&#xff0c;但是今天这个不一样&#xff0c;搜什么都搜不到 接口地…

SAP跨服务器传输请求号

环境一、两台服务器并没有维护连接传输线路&#xff08;DEV和QAS&#xff09; 环境二、需要将外部公司服务器上的请求号传输到内部服务器中 方式&#xff1a;先从开发环境或服务器中下载请求号&#xff0c;再将请求号上传到目标服务器或环境中&#xff0c;在目标服务器使用ST…

分享:重庆耶非凡科技有限公司人力资源项目靠不靠谱?

在当今快速变化的商业环境中&#xff0c;人力资源项目作为企业发展的重要支撑&#xff0c;其专业性和可靠性成为企业选择合作伙伴时的重要考量因素。重庆耶非凡科技有限公司作为一家在行业内颇具影响力的科技企业&#xff0c;其人力资源项目——人力RPO(招聘流程外包)项目&…

实现Redis和数据库数据同步问题(JAVA代码实现)

这里我用到了Redis当中的发布订阅模式实现(JAVA代码实现) 先看图示 下面为代码实现 首先将RedisMessageListenerContainer交给Spring管理. Configuration public class redisConfig {AutowiredRedisConnectionFactory redisConnectionFactory;AutowiredQualifier("car…

Hive安装-内嵌模式

1.官网下在hive3.1.2版本 Index of /dist/hive/hive-3.1.2 2.上传到master节点的/opt/software目录下 3.解压到/opt/module目录下 tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/module/ 检查解压后文件 4.修改名字 改为hive cd /opt/module mv apache-hive-3.1.2-bin…

数据结构 实验 1

题目一&#xff1a;用线性表实现文具店的货品管理问题 问题描述&#xff1a;在文具店的日常经营过程中&#xff0c;存在对各种文具的管理问题。当库存文具不足或缺货时&#xff0c;需要进货。日常销售时需要出库。当盘点货物时&#xff0c;需要查询货物信息。请根据这些要求编…

Crosslink-NX器件应用连载(11): 图像(数据)远程传输

作者&#xff1a;Hello&#xff0c;Panda 大家下午好&#xff0c;晚上好。这里分享一个Lattice Crosslink-NX器件实现图像或数据&#xff08;卫星数据、雷达数据、ToF传感器数据等&#xff09;远程传输的案例&#xff08;因为所描述的内容颇杂&#xff0c;晒图不好晒&#xff…

HCIP的学习(27)

RSTP—802.1W—快速生成树协议 STP缺陷&#xff1a; 1、收敛速度慢----STP的算法是一种被动的算法&#xff0c;依赖于计时器来进行状态变化 2、链路利用率低​ RSTP向下兼容STP协议。&#xff08;STP不兼容RSTP&#xff09; 改进点1—端口角色 802.1D协议---根端口、指定端口…

[数据集][目标检测]猕猴桃检测数据集VOC+YOLO格式1838张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1838 标注数量(xml文件个数)&#xff1a;1838 标注数量(txt文件个数)&#xff1a;1838 标注…

【Java】Java遍历Map方法合集

本文摘要&#xff1a;Java遍历Map方法合集 &#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。公粽号&#xff1a;洲与AI。 &#x1f913; 欢迎大家关注&am…

如何进入 -MGMTDB目录

想想这个问题&#xff0c;大家可能觉得很简单吧&#xff0c;先不看答案&#xff0c;你试一试如何进去 1.问题现象&#xff1a; 我直接进入&#xff1a; cd -MGMTDB 直接就报错了&#xff1a; [gridhost03 _mgmtdb]$ cd -MGMTDB -bash: cd: -M: invalid option cd: usage: c…

deepin开机取消挂载windows系统磁盘(Win11+deepinV23RC双系统)

目录 一、需求分析二、实现方法 一、需求分析 机器有两块硬盘&#xff0c;硬盘0装的是Win11,硬盘1装的是deepinV23RC,为避免使用deepin系统时对windows分区误操作&#xff0c;因此需要取消windows分区的挂载。 二、实现方法

解决TrueNas Scale部署immich后人脸识别失败,后台模型下载异常,immich更换支持中文搜索的CLIP大模型

这个问题搞了我几天终于解决了&#xff0c;搜遍网上基本没有详细针对TrueNas Scale部署immich应用后&#xff0c;CLIP模型镜像下载超时导致人脸识别失败&#xff0c;以及更换支持中文识别的CLIP模型的博客。 分析 现象&#xff1a;TrueNas Scale安装immich官方镜像应用后&…

记录一次cnvd事件型证书漏洞挖掘

事件起因是因为要搞毕设了&#xff0c;在为这个苦恼&#xff0c;突然负责毕设的老师说得到cnvd下发的证书结合你的漏洞挖掘的过程是可以当成毕设的&#xff0c;当时又学习了一段时间的web渗透方面的知识&#xff0c;于是踏上了废寝忘食的cnvd证书漏洞挖掘的日子。 前言&#x…

动态规划算法:背包问题

背包问题概述 背包问题 (Knapsack problem) 是⼀种组合优化的 NP完全问题 。 问题可以描述为&#xff1a;给定⼀组物品&#xff0c;每种物品都有⾃⼰的重量和价格&#xff0c;在限定的总重量内&#xff0c;我们如何选择&#xff0c;才能使得物品的总价格最⾼。 根据物品的个…

vector实现后半部分

一.迭代器失效 1.定义 指原迭代器在扩容/缩容/修改后指向无效元素或无效地址处 erase的迭代器失效 2.原因&#xff1a; 1.有的编译器实现erase会缩容拷贝 2.删除最后一个后&#xff0c;其指向无效元素 VS中不允许再次使用erase完的迭代器&#xff0c;为了让编写的代码移植…

32位与64位程序下函数调用的异同——计科学习中缺失的内容

前言 今天&#xff0c;通过一个有趣的案例&#xff0c;从反编译的角度看一下C语言中函数参数是如何传递的。 创建main.c文件&#xff0c;将下面实验代码拷贝到main.c文件中。 # main.c #include <stdio.h>int test(int a, int b, int c, int d, int e, int f, int g, …

浔川python社获得全网博主原力月度排名泸州地区第二名!

今日&#xff0c;浔川python社在查看全网博主原力月度排名泸州地区时&#xff0c;一看就震惊啦&#xff01; 全网博主原力月度排名泸州地区排名榜单 全网博主原力月度排名泸州地区第二名为&#xff1a;浔川python社。 感谢粉丝们的支持&#xff01;浔川python社还会继续努力&a…