5-1 下拉菜单(基本用法)
本节编程练习不计算学习进度,请电脑登录imooc.com操作

下拉菜单(基本用法)

小伙伴们注意,在Bootstrap框架中的下拉菜单组件是一个独立的组件,根据不同的版本,它对应的文件:

  ☑  LESS版本:对应的源码文件为 dropdowns.less

  ☑  Sass版本:对应的源码文件为 _dropdowns.scss

  ☑  编译后的Bootstrap版本:查看bootstrap.css文件第3004行~第3130行

在使用Bootstrap框架的下拉菜单时,必须调用Bootstrap框架提供的bootstrap.js文件。当然,如果你使用的是未编译版本,在js文件夹下你能找到一个名为“dropdown.js”的文件。你也可以调用这个js文件。不过在我们的教程中,我们统一调用压缩好的“bootstrap.min.js”文件:

<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>

特别声明:因为Bootstrap的组件交互效果都是依赖于jQuery库写的插件,所以在使用bootstrap.min.js之前一定要先加载jquery.min.js才会生效果。

我们先来看官网上一个简单的示例:

<div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
下拉菜单
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
   <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项</a></li>
   …
   <li role="presentation" class="divider"></li>
   <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项</a></li>
</ul>
</div>

使用方法:

在使用Bootstrap框架中的下拉菜单组件时,其结构运用的正确与否非常的重要,如果结构和类名未使用正确,直接影响组件是否能正常运用。我们来简单的看看:

1、使用一个名为“dropdown”的容器包裹了整个下拉菜单元素,示例中为:

<div class="dropdown"></div>

2、使用了一个<button>按钮做为父菜单,并且定义类名“dropdown-toggle”和自定义“data-toggle”属性,且值必须和最外容器类名一致,此示例为:

data-toggle="dropdown"

3、下拉菜单项使用一个ul列表,并且定义一个类名为“dropdown-menu”,此示例为:

<ul class="dropdown-menu">

任务

我来试试:完成下面任务

编写代码实现下拉菜单,效果图如下:


 

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>下拉菜单</title>
  6. <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
  7. <link rel="stylesheet" href="style.css">
  8. </head>
  9. <body>
  10.  
  11. <div class="dropdown">
  12. <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown">
  13. 下拉菜单
  14. <span class="caret"></span>
  15. </button>
  16. <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
  17. <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项</a></li>
  18. <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项</a></li>
  19. <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项</a></li>
  20. <li role="presentation"><a role="menuitem" tabindex="-1" href="#">下拉菜单项</a></li>
  21. </ul>
  22. </div>
  23. <script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script>
  24. <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
  25. </body>
  26. </html>
  1. body{margin:50px;padding:50px;}
下一节