Bootstrap实现下拉菜单效果


Posted in Javascript onApril 29, 2016

下拉菜单用于显示链接列表的可切换、有上下文的菜单。

1、案例

将下拉菜单触发器和下拉菜单都包裹在.dropdown里,然后添加组成菜单的HTML代码。

<div class="dropdown">
 <button class="btn dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
 Dropdown
 <span class="caret"></span>
 </button>
 <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
 <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li>
 <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Another action</a></li>
 <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
 <li role="presentation" class="divider"></li>
 <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Separated link</a></li>
 </ul>
 </div>

可以通过上面的代码发现,里面可能有很多陌生的样式类或者属性。

一个Dropdown按钮和右侧有个小图标caret,当然这个小图标和按钮的文本是平级的。

首先看button按钮中有个dropdown-toggle,还有一个data-toggle属性,根据这个属性来弹出下来列表。

紧接着ul标签的dropdown-menu应该是和上面button按钮的样式类dropdown-toggle联合使用,在通过aria-labelledby绑定上面的button按钮。

下来第四个li标签中有个divider其实是一个分割线的样式类。

大概我理解的就这个样子,理解的肯定不到位。

Bootstrap实现下拉菜单效果

2、对齐选项

给下拉菜单.dropdown-menu加上.text-right 使文字右对齐。

<div class="dropdown">
 <button class="btn dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
 Dropdown
 <span class="caret"></span>
 </button>
 <ul class="dropdown-menu text-right" role="menu" aria-labelledby="dropdownMenu1">
 <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li>
 <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Another action</a></li>
 <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
 <li role="presentation" class="divider"></li>
 <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Separated link</a></li>
 </ul>
 </div>

只是在上面的代码中的ul标签上添加了一个text-right的样式类。

Bootstrap实现下拉菜单效果

3、标题

在任何下拉菜单中均可通过添加标题来标明一组动作。

<h1>下拉菜单</h1>
 <div class="dropdown">
 <button class="btn dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
 Dropdown
 <span class="caret"></span>
 </button>
 <ul class="dropdown-menu text-right" role="menu" aria-labelledby="dropdownMenu1">
 <li role="presentation" class="dropdown-header">Dropdown header</li>
 <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li>
 <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Another action</a></li>
 <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
 <li role="presentation" class="divider"></li>
 <li role="presentation" class="dropdown-header">Dropdown header</li>
 <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Separated link</a></li>
 </ul>
 </div>

主要是添加了<li role="presentation" class="dropdown-header">Dropdown header</li>   里面有个.dropdown-header的样式类。

Bootstrap实现下拉菜单效果

4、禁用的菜单项

给下拉菜单中的<li>加上.disabled禁用链接。

继续修改上面的代码将Something else here行的代码进行替换

<li class="disabled" role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>

主要是在li标签中添加.disabled的样式类。

你运行之后可以查看效果,其实效果和上面的标题样式差不多,当你点击的时候会有一个禁用的图标显示。

5、基本案例

Bootstrap实现下拉菜单效果

1)、按钮式下拉菜单
把任何按钮放入.btn-group然后加入正确的菜单标记,就可以做成下拉菜单触发器。

单按钮下拉菜单

只要改变一些基本的标记,就能把按钮变成下拉菜单开关。

<div class="btn-group">
 <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
 Action <span class="caret"></span>
 </button>
 <ul class="dropdown-menu" role="menu">
 <li><a href="#">Action</a></li>
 <li><a href="#">Another action</a></li>
 <li><a href="#">Something else here</a></li>
 <li class="divider"></li>
 <li><a href="#">Separated link</a></li>
 </ul>
</div>

Bootstrap实现下拉菜单效果

分裂式按钮下拉菜单

相似地,分裂式按钮下拉菜单也需要同样的改变标记,但只要多一个分开的按钮。

<div class="btn-group">
  <button type="button" class="btn btn-danger">Action</button>
  <div class="dropdown">
  <button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown">
  <span class="caret"></span>
  <span class="sr-only">Toggle Dropdown</span>
  </button>
  <ul class="dropdown-menu" role="menu">
  <li><a href="#">Action</a></li>
  <li><a href="#">Another action</a></li>
  <li><a href="#">Something else here</a></li>
  <li class="divider"></li>
  <li><a href="#">Separated link</a></li>
  </ul>
  </div>
 </div

只能点击小图标才能出现下来菜单额。

Bootstrap实现下拉菜单效果

2)、尺寸

下拉菜单按钮适用所有尺寸的按钮。

<div class="btn-group">
 <button class="btn btn-default btn-lg dropdown-toggle" type="button" data-toggle="dropdown">
 Large button <span class="caret"></span>
 </button>
 <ul class="dropdown-menu">
 ...
 </ul>
</div>

<!-- Small button group -->
<div class="btn-group">
 <button class="btn btn-default btn-sm dropdown-toggle" type="button" data-toggle="dropdown">
 Small button <span class="caret"></span>
 </button>
 <ul class="dropdown-menu">
 ...
 </ul>
</div>

<!-- Extra small button group -->
<div class="btn-group">
 <button class="btn btn-default btn-xs dropdown-toggle" type="button" data-toggle="dropdown">
 Extra small button <span class="caret"></span>
 </button>
 <ul class="dropdown-menu">
 ...
 </ul>
</div>

Bootstrap实现下拉菜单效果

通过样式类.btn-lg、 .btn-sm、.btn-xs来控制按钮的大小。

3)、向上弹出式菜单

给父元素添加.dropup就能使触发的下拉菜单在元素上方。

<div class="btn-group dropup">
 <button type="button" class="btn btn-default">Dropup</button>
 <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
 <span class="caret"></span>
 <span class="sr-only">Toggle Dropdown</span>
 </button>
 <ul class="dropdown-menu">
 <!-- Dropdown menu links -->
 </ul>
</div>

Bootstrap实现下拉菜单效果

如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:

 本文主要介绍了下拉菜单的相关内容,然后介绍了按钮和下拉菜单的组合,变化还是蛮多的,样式也不错,希望大家喜欢。

Javascript 相关文章推荐
jquery控制listbox中项的移动并排序的实现代码
Sep 28 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
Aug 13 Javascript
刷新页面的几种方法小结(JS,ASP.NET)
Jan 07 Javascript
js获取表格的行数和列数的方法
Oct 23 Javascript
谈谈jQuery Ajax用法详解
Nov 27 Javascript
基于jquery实现动态竖向柱状条特效
Feb 12 Javascript
扩展jquery easyui tree的搜索树节点方法(推荐)
Oct 28 Javascript
js与jquery分别实现tab标签页功能的方法
Nov 18 Javascript
Bootstrap fileinput文件上传组件使用详解
Jun 06 Javascript
angularjs实现过滤并替换关键字小功能
Sep 19 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
Aug 17 Javascript
WebPack工具运行原理及入门教程
Dec 02 Javascript
Easyui Treegrid改变默认图标的方法
Apr 29 #Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
Apr 29 #Javascript
JS组件Bootstrap导航条使用方法详解
Apr 29 #Javascript
Treegrid的动态加载实例代码
Apr 29 #Javascript
Easyui 之 Treegrid 笔记
Apr 29 #Javascript
浅析BootStrap模态框的使用(经典)
Apr 29 #Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
Apr 29 #Javascript
You might like
php取得字符串首字母的方法
2015/03/25 PHP
Yii数据库缓存实例分析
2016/03/29 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
php使用环形链表解决约瑟夫问题完整示例
2018/08/07 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
2019/08/14 PHP
innerHTML,outerHTML,innerTEXT三者之间的区别
2007/01/28 Javascript
基于jquery的跨域调用文件
2010/11/19 Javascript
javascript作用域容易记错的两个地方分析
2012/06/22 Javascript
JQUERY对单选框(radio)操作的小例子
2013/04/25 Javascript
JavaScript操作Oracle数据库示例
2015/03/06 Javascript
纯JS打造网页中checkbox和radio的美化效果
2016/10/13 Javascript
js date 格式化
2017/02/15 Javascript
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
vue 实现全选全不选的示例代码
2018/03/29 Javascript
详解Puppeteer前端自动化测试实践
2019/02/21 Javascript
layui.tree组件的使用以及搜索节点功能的实现
2019/09/26 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
JavaScript数组类型Array相关的属性与方法详解
2020/09/08 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
python selenium UI自动化解决验证码的4种方法
2018/01/05 Python
python3 遍历删除特定后缀名文件的方法
2018/04/23 Python
Python通过for循环理解迭代器和生成器实例详解
2019/02/16 Python
tensorflow2.0的函数签名与图结构(推荐)
2020/04/28 Python
python退出循环的方法
2020/06/18 Python
浅谈Python中的继承
2020/06/19 Python
用python实现一个简单的验证码
2020/12/09 Python
英国著名国际平价时尚男装品牌:Topman
2016/08/27 全球购物
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
美国瑜伽服装和装备购物网站:Mukha Yoga
2019/02/22 全球购物
军训自我鉴定200字
2014/02/13 职场文书
勤俭节约倡议书
2014/04/14 职场文书
三年级学生评语
2014/04/23 职场文书
防灾减灾活动总结
2014/08/30 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
CSS3实现列表无限滚动/轮播效果
2021/06/23 HTML / CSS