Bootstrap的下拉菜单组件相关知识

news2025/6/22 0:13:10

Bootstrap的下拉菜单组件依赖于第三方popper.js插件实现,popper.js插件提供了动态定位和浏览器窗口大小监测,所以在使用下拉菜单时确保引入了popper.js文件,并且要放在引用Bootstrap.js文件之前前。

目录

  • 01-下拉菜单基本结构
  • 02-分裂式下拉菜单
  • 03-设置菜单展开方向
  • 04-设置菜单的分割线
  • 05-激活和禁用某个菜单项
  • 06-设置菜单项的对齐方式
  • 07-设置菜单的偏移效果
  • 08-丰富菜单内容

01-下拉菜单基本结构

下拉菜单基本结构如下:

<div class="dropdown">
    <button class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" type="button">
	激活按钮
    </button>
    <div class="dropdown-menu">
        <a class="dropdown-item" href="#">菜单项1</a>
        <button class="dropdown-item" type="button">菜单项2</button>
    </div>
</div>

说明:
①下拉菜单组件需要包含在dropdown类容器中。
②需要一个激活按钮,激活按钮需要设置属性data-toggle的值为dropdown,并且可添加添加dropdown-toggle类来设置一个小三角形。
③在Bootstrap 4中,可以使用a标签或button标签作为下拉菜单的菜单项,但是都需要添加类dropdown-item。

基本结构的完整示例代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>下拉菜单基本结构</title>
    <meta name="viewport" content="width=device-width,initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="bootstrap-4.5.3-dist/css/bootstrap.css">
    <script src="jquery-3.5.1.slim.js"></script>
    <script src="popper.js"></script>
    <script src="bootstrap-4.5.3-dist/js/bootstrap.min.js"></script>
</head>
<h3>下拉菜单基本结构</h3>
<div class="dropdown">
    <button class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" type="button">
	激活按钮
    </button>
    <div class="dropdown-menu">
        <a class="dropdown-item" href="#">菜单项1</a>
        <button class="dropdown-item" type="button">菜单项2</button>
    </div>
</div>
</html>

运行结果如下图所示:
在这里插入图片描述

02-分裂式下拉菜单

示例代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>分裂式按钮下拉菜单</title>
    <meta name="viewport" content="width=device-width,initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="bootstrap-4.5.3-dist/css/bootstrap.css">
    <script src="jquery-3.5.1.slim.js"></script>
    <script src="popper.js"></script>
    <script src="bootstrap-4.5.3-dist/js/bootstrap.min.js"></script>
</head>
<h3 align="center">分裂式按钮下拉菜单</h3>
<div class="dropdown btn-group">
    <button class="btn btn-secondary"  type="button">箱包皮具</button>
    <button class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" type="button">
    </button>
    <div class="dropdown-menu">
        <a class="dropdown-item" href="#">旅行箱包</a>
        <button class="dropdown-item" type="button">精品男包</button>
        <a class="dropdown-item" href="#">潮流女包</a>
        <button class="dropdown-item" type="button">精品皮带</button>
    </div>
</div>
</html>

效果如下图所示:
在这里插入图片描述

03-设置菜单展开方向

可通过类dropletf、dropright、dropup、dropdown分别设置向左、向右、向上、向下展开。
示例代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>向上展开菜单</title>
    <meta name="viewport" content="width=device-width,initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="bootstrap-4.5.3-dist/css/bootstrap.css">
    <script src="jquery-3.5.1.slim.js"></script>
    <script src="popper.js"></script>
    <script src="bootstrap-4.5.3-dist/js/bootstrap.min.js"></script>
</head>
<body class="container">
<h3 align="center">向上展开菜单</h3><br /><br /><br /><br /><br />
<div class="dropup">
    <button class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" type="button">
        箱包皮具
    </button>
    <div class="dropdown-menu">
        <a class="dropdown-item" href="#">旅行箱包</a>
        <button class="dropdown-item" type="button">精品男包</button>
        <a class="dropdown-item" href="#">潮流女包</a>
        <button class="dropdown-item" type="button">精品皮带</button>
    </div>
</div>
</body>
</html>

效果如下:
在这里插入图片描述

04-设置菜单的分割线

示例代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>菜单项添加分割线</title>
    <meta name="viewport" content="width=device-width,initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="bootstrap-4.5.3-dist/css/bootstrap.css">
    <script src="jquery-3.5.1.slim.js"></script>
    <script src="popper.js"></script>
    <script src="bootstrap-4.5.3-dist/js/bootstrap.min.js"></script>
</head>
<body class="container">
<h3 align="center">菜单项添加分割线</h3>
<div class="dropdown">
    <button class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" type="button">
        惠丰商城
    </button>
    <div class="dropdown-menu">
        <button class="dropdown-item" type="button">家用电器</button>
        <button class="dropdown-item" type="button">电脑数码</button>
        <button class="dropdown-item" type="button">男装女装</button>
        <div class="dropdown-divider"></div>
        <button class="dropdown-item" type="button">珠宝箱包</button>
        <button class="dropdown-item" type="button">水果特产</button>
        <button class="dropdown-item" type="button">男鞋女鞋</button>
    </div>
</div>
</body>
</html>

运行效果如下:
在这里插入图片描述

05-激活和禁用某个菜单项

示例代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>菜单项激活和禁用状态</title>
    <meta name="viewport" content="width=device-width,initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="bootstrap-4.5.3-dist/css/bootstrap.css">
    <script src="jquery-3.5.1.slim.js"></script>
    <script src="popper.js"></script>
    <script src="bootstrap-4.5.3-dist/js/bootstrap.min.js"></script>
</head>
<body class="container">
<h3 align="center">菜单项激活和禁用状态</h3>
<div class="dropdown">
    <button class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" type="button">
        惠丰商城
    </button>
    <div class="dropdown-menu">
        <button class="dropdown-item active" type="button">家用电器</button>
        <button class="dropdown-item" type="button">电脑数码</button>
        <button class="dropdown-item" type="button">男装女装</button>
        <button class="dropdown-item disabled " type="button">珠宝箱包</button>
        <button class="dropdown-item disabled " type="button">水果特产</button>
    </div>
</div>
</body>
</html>

运行效果如下图所示:
在这里插入图片描述

06-设置菜单项的对齐方式

默认情况下,下拉菜单自动从顶部和左侧进行定位,可以用类dropdown-menu-right实现右侧对齐。注意:菜单项需要依赖popper.js文件。
示例代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>菜单项对齐</title>
    <meta name="viewport" content="width=device-width,initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="bootstrap-4.5.3-dist/css/bootstrap.css">
    <script src="jquery-3.5.1.slim.js"></script>
    <script src="popper.js"></script>
    <script src="bootstrap-4.5.3-dist/js/bootstrap.min.js"></script>
</head>
<body class="container text-center">
<h3 align="center">菜单项右对齐</h3>
<div class="dropdown">
    <button class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" type="button">
        惠丰商城
    </button>
    <div class="dropdown-menu dropdown-menu-right">
        <button class="dropdown-item" type="button">家用电器</button>
        <button class="dropdown-item" type="button">电脑数码</button>
        <button class="dropdown-item" type="button">男装女装</button>
        <button class="dropdown-item " type="button">珠宝箱包</button>
        <button class="dropdown-item " type="button">水果特产</button>
    </div>
</div>
</body>
</html>

效果如下:
右对齐效果如下:
在这里插入图片描述
左对齐效果如下:
在这里插入图片描述

07-设置菜单的偏移效果

示例代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>设置菜单的偏移量</title>
    <meta name="viewport" content="width=device-width,initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="bootstrap-4.5.3-dist/css/bootstrap.css">
    <script src="jquery-3.5.1.slim.js"></script>
    <script src="popper.js"></script>
    <script src="bootstrap-4.5.3-dist/js/bootstrap.min.js"></script>
</head>
<body class="container">
<h3 align="center">设置菜单的偏移量</h3>
<div class="dropdown mr-1">
    <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" data-offset="200,60">
        激活按钮
    </button>
    <div class="dropdown-menu dropdown-menu-right">
        <button class="dropdown-item" type="button">家用电器</button>
        <button class="dropdown-item" type="button">电脑数码</button>
        <button class="dropdown-item" type="button">男装女装</button>
        <button class="dropdown-item " type="button">珠宝箱包</button>
        <button class="dropdown-item " type="button">水果特产</button>
    </div>
</div>
</body>
</html>

运行效果如下图所示:
在这里插入图片描述

08-丰富菜单内容

示例代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>丰富的菜单内容</title>
    <meta name="viewport" content="width=device-width,initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="bootstrap-4.5.3-dist/css/bootstrap.css">
    <script src="jquery-3.5.1.slim.js"></script>
    <script src="popper.js"></script>
    <script src="bootstrap-4.5.3-dist/js/bootstrap.min.js"></script>
</head>
<body class="container">
<h3 align="center">丰富的菜单内容</h3>
<div class="dropdown">
    <button type="button" class="btn btn-primary dropdown-toggle position-relative" data-toggle="dropdown">
        码农课堂
    </button>
    <div class="dropdown-menu" style="max-width: 300px;">
        <h6 class="dropdown-header" type="button">经典课程</h6>
        <button class="dropdown-item" type="button">热门课程</button>
        <button class="dropdown-item" type="button">技术支持</button>
        <hr>
        <p class="mx-3">码农课堂为读者提供核心技术的培训和指导。</p>
        <hr>
        <form action="" class="mx-3">
            <input type="text" placeholder="姓名"><br/>
            <textarea type="textarea" cols="22" rows="4" placeholder="技术疑难问题"></textarea>
        </form>
    </div>
</div>
</body>
</html>

运行效果如下:
在这里插入图片描述

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

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

相关文章

世和基因NGS大Panel IVD产品获批上市

近日&#xff0c;国家药品监督管理局&#xff08;NMPA&#xff09;通过创新医疗器械特别审批&#xff0c;批准世和基因旗下南京世和医疗器械有限公司的非小细胞肺癌组织TMB检测试剂盒&#xff08;可逆末端终止测序法&#xff09;&#xff08;国械注准20233401452&#xff09;上…

验收测试的关键步骤您知道吗

验收测试是软件开发生命周期中的重要环节&#xff0c;用于验证项目交付是否符合用户需求和质量标准。本文将介绍验收测试的定义及实施验收测试的关键步骤。 一、验收测试的定义和目标 确保项目交付质量&#xff1a;通过主动验证和评估软件系统的功能、性能和质量&#xff0c;确…

JS调试技巧

插桩导出全局变量 在代码段中导出运行 1.先找到需要的调试的函数 2.删除逗号给后面的变量加VAR 3.用个window.变量去接收需要的函数&#xff0c;让他变成全局变量 4.直接执行 window.wang.md5(123123213123) eval&#xff0c;AA&#xff0c;OO,JJ导出混淆参数 重写evel…

虚拟机独立 IP 配置

虚拟机独立 IP 配置 1. 点击虚拟网络编辑器 2. 点击更改设置 3. 查看本地电脑网卡型号并设置虚拟网络编辑器桥接网卡为同型号网卡 4. 设置有限网络信息 5. 点击网络编辑按钮并点击身份 6. 编辑名称并选择MAC地址 7. 配置 IPv4 地址后点击应用即可

2021上海市赛【10.10训练补题】

Dashboard - The 2021 Shanghai Collegiate Programming Contest - Codeforces 参考题解&#xff1a;2021CCPC上海省赛题解ABCDEGHIJK_2021ccpc上海题解_Hytidel的博客 A. 小 A 的点面论&#xff08;数学几何&#xff09; 题解&#xff1a;求平面的法向量&#xff08;外积法…

sshpass传输文件提示Host key verification failed.

1. sshpass功能简述 sshpass指令可用于A服务器向B服务器传输文件或执行某些指令。 2. 传输文件指令 基本传输命令&#xff1a;sshpass -p 远程服务器登录密码 scp 本地路径文件 远程服务器登录用户名远程服务器IP地址:远程服务器文件保存路径 示例&#xff1a; sshpass -p 1…

HVV行动是什么?网络安全的重要布局!

1 什么是HVV行动 “HVV行动” 是国家应对网络安全问题所做的重要布局之一&#xff0c;是由政府统一组织的"网络安全实战攻防演习&#xff0c;通过与进攻方的对抗&#xff0c;企事业单位网络、系统以及设备等的安全能力会大大提高。 2 发展 “HVV行动”从2016年开始&#…

基于R和gephi做宏基因组与代谢组等多组学联合network相关性网络图

写在前面 拿到多组学的数据后一直在找合适的方法将二者进行关联&#xff0c;比如我这里是三种体液的代谢组与一种体液的宏基因组。需求是对多组学进行关联分析&#xff0c;直到最近看到不少文章里利用Gephi将相关性表格进行可视化的图&#xff0c;效果还不错&#xff0c;于是写…

拼多多商品品牌数据接口,拼多多商品详情数据接口,拼多多优惠券数据接口,拼多多API接口

拼多多商品品牌数据采集方法如下&#xff1a; 手动数据采集。直接在拼多多平台上搜索并手动复制商品数据&#xff0c;适合采集小批量的商品数据&#xff0c;但不适用于大规模数据采集。手动采集需要手动输入搜索词&#xff0c;进行筛选后再复制所需的数据&#xff0c;该方法需…

mybaits入门实验

实验准备 创建数据库和数据表sql语句&#xff0c;代码如下所示。 CREATE DATABASE mybait_demo; USE mybait_demo;CREATE TABLE tb_student( sno INT AUTO_INCREMENT PRIMARY KEY, student_name VARCHAR(20) NULL, student_age INT NULL );给表中插入四条数据…

2023年09月 C/C++(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C编程&#xff08;1~8级&#xff09;全部真题・点这里 Python编程&#xff08;1~6级&#xff09;全部真题・点这里 第1题&#xff1a;谁是你的潜在朋友 “臭味相投”——这是我们描述朋友时喜欢用的词汇。两个人是朋友通常意味着他们存在着许多共同的兴趣。然而作为一个宅男&…

【操作系统】BIOS开机自检

一.BIOS的基本功能 BIOS 全称 Basic Input/Output System&#xff0c;中文可译为基本输入/输出系统。电脑在按下电源键后的第一反应就是执行BIOS这个程序。之所以会被称之为“基本”&#xff0c;是因为它主要负责了一些开启计算机所需要最最基本的东西&#xff0c;其它更加复杂…

Visual Studio配置OpenCV(保姆及教程)

Visual Studio配置OpenCV OpenCV安装Visual Studio安装Visual Studio配置OpenCV OpenCV安装 OpenCV安装地址&#xff0c;点击进行下载 二话不说&#xff0c;直接最新版本&#xff0c;安装挺简单的这里就不进行叙述了&#xff0c;安装完后记住安装地址。 打开你的安装目录&#…

dp模板题(y总小迷弟)

这个是总结y总的闫式dp分析方法来写的下面的题目主要核心就是&#xff1a; dp的含义&#xff1a;集合代表说明 如何根据最后一个子问题进行划分根据划分的范文推出状态式 四大经典dp问题 01背包 01背包问题可描述为如下问题&#xff1a; 有一个容量为V的背包&#xff0c;还…

Crypto/加密货币 应用

1. 应用程序功能模块 1) 实时加密货币数据 2) 保存当前用户的货币数据 3&#xff09;搜索、筛选、排序和重新加载数据 4&#xff09;自定义颜色主题和加载动画 2. 技术点 1&#xff09;MVVM 体系结构 2&#xff09;Core Data&#xff08;保存当前用户的投资组合&#xff09; 3…

Web后端开发登录校验及JWT令牌,过滤器,拦截器详解

如果用户名正确则成功进入 登录功能 代码 Controller Service Mapper 结果 若登录成功结果如下: 如果登录失败,结果如下 登录校验 为什么需要登录校验 有时再未登录情况下, 我们也可以直接访问部门管理, 员工管理等功能 因此我们需要一个登录校验操作, 只有确认用户登录…

易点云CFO向征:CFO不能只讲故事,价值创造才是核心

作者 | 曾响铃 文 | 响铃说 在今年6月初&#xff0c;也是易点云上市6天后&#xff0c;《巴伦周刊》正式启动评价“2023港美上市中国企业CFO精英100”的活动。 时间来到9月&#xff0c;评价揭秘&#xff0c;易点云CFO向征成功入选&#xff0c;被评为“年度最具成长潜力CFO”…

入手DDR5内存最佳时机到了,价格大跳水香过DDR4

当时 DDR5 内存刚出来那会儿大家怎么说的来着&#xff0c;售价离谱&#xff0c;提升微弱&#xff0c;鬼都不买… 不过嘛&#xff0c;随着 13 代酷睿以及锐龙 7000 系 CPU 上市&#xff0c;DDR5 彻底真香起来了。 先不说花重金升级 13 代酷睿平台&#xff0c;还用 DDR4 会不会有…

【开源项目】一款轻量级、基于Java语言开发的低代码开发框架,开箱即用!

在当今数字化时代&#xff0c;企业对于灵活、高效和安全的软件开发需求日益旺盛。为了满足这些需求&#xff0c;许多组织转向开源技术&#xff0c;以寻求更具成本效益和创新性的解决方案。JVS基础框架正是在这一背景下应运而生&#xff0c;凭借其私有化部署和完全开源的特性&am…

LeetCode 2578. 最小和分割【贪心,排序+奇偶分组】1350

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…