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>

Bootstrap下拉菜单、按钮式下拉菜单的更多相关文章

  1. 用bootstrap和css3制作按钮式下拉菜单

    利用bootstrap框架的字体图标和下拉菜单效果,以及css3的动画效果,可以做出比较优雅的按钮式下拉菜单样式 <style> .myBtnStyle .dropdown-menu sp ...

  2. Bootstrap按钮式下拉菜单

    前面的话 按钮式下拉菜单仅从外观上看,和下拉菜单效果基本上是一样的.不同的是普通的下拉菜单是block元素,而按钮式下拉菜单是inline-block元素.本文将详细介绍Bootstrap按钮式下拉菜 ...

  3. 8.bootstrap下拉菜单、按钮组、按钮式下拉菜单

    下拉菜单 dropdown 对齐方式: .dropdown-menu-right     .dropdown-menu-left <div class="container" ...

  4. Bootstrap3系列:按钮式下拉菜单

    1. 基本实例 把按钮放入 .btn-group 中,加入适当的菜单标签,让按钮触发下拉菜单. 1.1 示例代码 <div class="btn-group"> < ...

  5. Bootstrap<基础十四> 按钮下拉菜单

    使用 Bootstrap class 向按钮添加下拉菜单.如需向按钮添加下拉菜单,只需要简单地在在一个 .btn-group 中放置按钮和下拉菜单即可.也可以使用 <span class=&qu ...

  6. Bootstrap历练实例:带有下拉菜单的标签和胶囊导航

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  7. Web标准:八、下拉及多级弹出菜单

    Web标准:八.下拉及多级弹出菜单 知识点: 1.带下拉子菜单的导航菜单 2.绝对定位和浮动的区别和运用 3.CSS自适应宽度滑动门菜单   1)带下拉子菜单的导航菜单 带下拉子菜单的就是在一级导航下 ...

  8. Bootstrap Flat UI的select下拉框显示不出来 问题解决

    Bootstrap Flat UI的select下拉框显示不出来?看这里,恰巧今天我也遇到了这个问题: 点击Messages后并没有出现下拉列表,然而官网的index.html却能显示出来. 经过一番 ...

  9. 下拉刷新,上拉加载功能--dropload.js的使用

    这段时间工作太忙了,没时间更新博客内容,在这段时间,也学习到了不少新的知识.今天先整理一下dropload.js的使用方法吧,这个是在为项目中使用过的插件,很好用,但是真正用到项目中还是会有一些小小的 ...

随机推荐

  1. JVM之JVM体系结构

    JVM是运行在操作系统之上的,它与硬件没有直接的交互 下图运行时数据区灰色代表线程私有,亮色(方法区和堆)代表所有线程共享. 1.类装载器ClassLoader 负责加载class文件,class文件 ...

  2. 树与图的DFS与BFS

    树的DFS 题目:https://www.acwing.com/problem/content/848/ 代码 #include<bits/stdc++.h> using namespac ...

  3. 折半搜索(meet in the middle)

    折半搜索(meet in the middle) ​ 我们经常会遇见一些暴力枚举的题目,但是由于时间复杂度太过庞大不得不放弃. ​ 由于子树分支是指数性增长,所以我们考虑将其折半优化; 前言 ​ 这个 ...

  4. Java_web项目中在Java文件里面通过类装载器对资源文件读取

    承接上一节:在eclipse完成对Java_web项目里面资源文件的读取 我们首先在src目录下创建一个资源文件db.properties 内容如下: url=127.0.0.1 name=root ...

  5. 简谈图论重要性&&图论总结

    从外地学习回来,我对图论才有认识(以前就没接触过,非常尴尬),说实话,学好图论的重要性,就像学数学时在进行解析几何时,图极有可能是打开答案的最后秘钥,也就是数形结合,而懂的人永远明白,用图解决绝对比用 ...

  6. Codeforces #637 div2 B. Nastya and Door

    题意:给你一个数组a,定义:若a[i]>a[i]&&a[i]>a[i-1],则a[i]为峰值,求长度为k的区间内峰值最多能为多少,并输出这个区间的左端点(区间需要将峰的左边 ...

  7. tomacat服务器上web资源访问流程、web应用打成war包发布、Context的reloadable属性、tomacat体系架构

    一.web资源访问流程 二.web应用打成war包发布到服务器 好处:打成war包发布到服务器,那么服务器会自动把它拆解成文件夹 jar命令是java自带的一个命令,如果之前配置过Java编译环境就可 ...

  8. 自己动手实现springboot运行时执行java源码(运行时编译、加载、注册bean、调用)

    看来断点.单步调试还不够硬核,根本没多少人看,这次再来个硬核的.依然是由于apaas平台越来越流行了,如果apaas平台选择了java语言作为平台内的业务代码,那么不仅仅面临着IDE外的断点.单步调试 ...

  9. BeautifulSoup select方法

    1 html = """ 2 <html><head><title>The Dormouse's story</title> ...

  10. Kubernets二进制安装(16)之安装部署traefik(ingress)

    K8S的DNS实现了服务在集群"内"被自动发现,如何使得服务在Kuberneters集群"外"被使用和访问呢,有二种方法 1)使用NodePort型的Servi ...