惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
Microsoft Azure Blog
Microsoft Azure Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
B
Blog
Y
Y Combinator Blog
博客园_首页
有赞技术团队
有赞技术团队
博客园 - Franky
腾讯CDC
G
Google Developers Blog
Recent Announcements
Recent Announcements
博客园 - 【当耐特】
D
Docker
The GitHub Blog
The GitHub Blog
MyScale Blog
MyScale Blog
H
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
A
About on SuperTechFans
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
V
V2EX
U
Unit 42
aimingoo的专栏
aimingoo的专栏
WordPress大学
WordPress大学

博客园 - 编程我的一切

避免大规模日志告警滞后的三种MySQL深度优化实战方案 如何平衡复杂度与扩展性:从过度设计到演进式架构的设计思考 从零开始:程序员快速上手大模型开发——从 Prompt Engineering 到 RAG 架构落地 深度解析:如何利用开源项目贡献构建高质量的个人技术品牌 打破成长瓶颈:程序员构建深度知识体系与高效学习的方法论 从慢查询到高并发:MySQL 索引优化与后端架构性能调优实战指南 从慢查询到高并发:MySQL 数据库性能调优的深度实践与核心策略 从零开始构建你的第一个 AI 应用:大模型 API 调用与 Prompt Engineering 实战指南 大模型时代下的开发者转型:从理论理解到 RAG 实战落地的进阶路径 从零开始构建你的 AI 助手:大模型本地部署与 Prompt 工程实战入门指南 从内存分配到零拷贝:深度解析 .NET 中 Span<T> 与 Memory<T> 的高性能实践 拒绝代码腐烂:深度解析代码整洁之道与高频重构模式 从“能跑就行”到“优雅之美”:深度解析代码整洁之道与重构实战技巧 Apache Hop实战:Windows平台MySQL数据迁移的深度排错与性能调优 线程与进程的区别与联系:操作系统入门详解(含 Python 示例) 打破同源枷锁:深入理解 postMessage 跨域通信机制 三大搜索引擎 URL 推送 API 详解:百度、必应、谷歌 PandasAI:当数据分析遇上自然语言处理 Windows 左ctrl和左alt键互换 SSM三大框架的运行流程、原理、核心技术详解 app启动速度怎么提升? canvas画布基本知识点总结 SSM框架整合(Spring + SpringMVC + MyBatis) Lambda入门 Spring boot+CXF开发WebService Demo HTML5中的Web Notification桌面通知 Open3d之交互式可视化 行为识别TSM训练ucf101数据集 Python3列表、元组及之间的区别和转换 Java 字符串简介
Bootstrap下拉菜单、按钮式下拉菜单
编程我的一切 · 2021-02-28 · via 博客园 - 编程我的一切

1. 概述

下拉菜单使用频率也是比较高的,比较常见的使用场景是在导航菜单栏,某个主菜单含有下拉的子菜单。

Bootstrap为下拉菜单提供了两种实现方式,即普通的下拉菜单还有按钮式的下拉菜单。我们先看一张图观察下,从图中可以看出,普通下拉菜单和按钮式下拉菜单的样式基本相同,唯一比较明显的区别是:普通下拉菜单相当于菜单,前后自动换行;而按钮式的下拉菜单相当于按钮,前后不换行。

在这里插入图片描述

2. 下拉菜单

2.1 普通下拉菜单

先来看下普通下拉菜单的示例代码,通过dropdown描述一个下拉菜单,下拉菜单的主按钮通过dropdown-toggle类描述,下拉子菜单的部分是dropdown-menu类描述的ul元素。最后注意下拉箭头是通过caret样式类实现的。

				普通下拉菜单:
                <div class="dropdown">
                    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>

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

2.2 更换颜色

其实就是更换按钮的样式类,如下代码将默认按钮改为了首选按钮btn-primary

				更换颜色:
                <div class="dropdown">
                    <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>

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

2.3 更换尺寸

其实就是通过btn-lgbtn-sm更换按钮的尺寸。

				更换尺寸:
                <div class="dropdown">
                    <button class="btn btn-default btn-lg dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>

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

2.4 添加分割线

可以在子菜单之间添加分割线,示例代码:

				添加分割线:
                <div class="dropdown">
                    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li role="separator" class="divider"></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>

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

2.5 菜单分组

如果子菜单较多,还可以进行分组:

				菜单分组:
                <div class="dropdown">
                    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li class="dropdown-header">分组1</li>
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                        <li class="dropdown-header">分组2</li>
                        <li><a href="#">命令3</a></li>
                        <li><a href="#">命令4</a></li>
                    </ul>
                </div>

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

2.6 上拉菜单

这个实现比较奇葩,可以让子菜单弹出方向改变,真实使用场景我都没见过。只需要将dropdown样式类改为dropup即可。

				上拉菜单:
                <div class="dropup">
                    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>

在这里插入图片描述

3. 按钮式下拉菜单

按钮式下拉菜单的实现,只需要将之前的dropdown样式类改为btn-group即可,有个例外是上拉菜单,需要将dropup改为btn-group和dropup两个样式类。

具体代码如下:

			<div class="col-md-12">
                按钮式下拉菜单:
                <div class="btn-group">
                    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>
                更换颜色:
                <div class="btn-group">
                    <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>
                更换尺寸:
                <div class="btn-group">
                    <button class="btn btn-default btn-lg dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>
                添加分割线:
                <div class="btn-group">
                    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li role="separator" class="divider"></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>
                菜单分组:
                <div class="btn-group">
                    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li class="dropdown-header">分组1</li>
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                        <li class="dropdown-header">分组2</li>
                        <li><a href="#">命令3</a></li>
                        <li><a href="#">命令4</a></li>
                    </ul>
                </div>
                上拉菜单:
                <div class="btn-group dropup">
                    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>
            </div>