Bootstrap 下拉菜单

默认下拉菜单

下拉菜单是一个可切换的菜单,让用户可以从预定义列表中选择一个值:

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta name="viewport" content="width=device-width, initial-scale=1">
  5. <link rel="stylesheet" href="https://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
  6. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  7. <script src="https://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
  8. </head>
  9. <body>
  10. <div class="container">
  11. <h2>下拉菜单</h2>
  12. <p>.dropdown 类用于指示一个下拉菜单</p>
  13. <p>用 .dropdown-menu 类来创建下拉选项</p>
  14. <p>要能打开下拉菜单, 需要带有 .dropdown-toggle 样式和 data-toggle="dropdown" 的按钮或链接</p>
  15. <div class="dropdown">
  16. <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">下拉菜单实例
  17. <span class="caret"></span></button>
  18. <ul class="dropdown-menu">
  19. <li><a href="#">HTML</a></li>
  20. <li><a href="#">CSS</a></li>
  21. <li><a href="#">JavaScript</a></li>
  22. </ul>
  23. </div>
  24. </div>
  25. </body>
  26. </html>
实例解释

.dropdown 类指示一个下拉菜单。

要能打开下拉菜单, 需要带有 .dropdown-toggle 样式和 data-toggle="dropdown" 属性的按钮或链接

.caret 类可以创建一个箭头图标 (), 表示这是一个下拉菜单。

.dropdown-menu 类添加到一个 <ul> 元素来创建一个下拉菜单。


分割式下拉菜单

.divider 类可以创建一条很细的水平线来分隔下拉菜单中的链接:

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta name="viewport" content="width=device-width, initial-scale=1">
  5. <link rel="stylesheet" href="https://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
  6. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  7. <script src="https://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
  8. </head>
  9. <body>
  10. <div class="container">
  11. <h2>Dropdowns</h2>
  12. <p>.divider 类可以创建一条很细的水平线来分隔下拉菜单中的链接:</p>
  13. <div class="dropdown">
  14. <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">教程
  15. <span class="caret"></span></button>
  16. <ul class="dropdown-menu">
  17. <li><a href="#">HTML</a></li>
  18. <li><a href="#">CSS</a></li>
  19. <li><a href="#">JavaScript</a></li>
  20. <li class="divider"></li>
  21. <li><a href="#">About Us</a></li>
  22. </ul>
  23. </div>
  24. </div>
  25. </body>
  26. </html>

下拉菜单标题

.dropdown-header 类用来在下拉菜单中创建标题:

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta name="viewport" content="width=device-width, initial-scale=1">
  5. <link rel="stylesheet" href="https://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
  6. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  7. <script src="https://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
  8. </head>
  9. <body>
  10. <div class="container">
  11. <h2>Dropdowns</h2>
  12. <p>.dropdown-header 类用来在下拉菜单中创建标题:</p>
  13. <div class="dropdown">
  14. <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">Tutorials
  15. <span class="caret"></span></button>
  16. <ul class="dropdown-menu">
  17. <li class="dropdown-header">下拉菜单标题 1</li>
  18. <li><a href="#">HTML</a></li>
  19. <li><a href="#">CSS</a></li>
  20. <li><a href="#">JavaScript</a></li>
  21. <li class="divider"></li>
  22. <li class="dropdown-header">下拉菜单标题 2</li>
  23. <li><a href="#">About Us</a></li>
  24. </ul>
  25. </div>
  26. </div>
  27. </body>
  28. </html>

禁用与活动的项

使用 .active 类(添加一个蓝色背景色)高亮显示一个指定的下拉选项。

要禁用下拉菜单中的项目,请使用 .disabled 类(显示浅灰色文本颜色,以及当鼠标悬停在该项上时出现一个类似 "禁止停车标志" 的图标):

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Bootstrap 实例</title>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <link rel="stylesheet" href="https://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
  8. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  9. <script src="https://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
  10. </head>
  11. <body>
  12. <div class="container">
  13. <h2>Dropdowns</h2>
  14. <p>.active 会给活动的项添加一个蓝色的背景色</p>
  15. <p>.disabled 会禁用菜单中的项 (灰色文本).</p>
  16. <div class="dropdown">
  17. <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">Tutorials
  18. <span class="caret"></span></button>
  19. <ul class="dropdown-menu">
  20. <li><a href="#">普通</a></li>
  21. <li class="disabled"><a href="#">禁用</a></li>
  22. <li class="active"><a href="#">活动</a></li>
  23. <li><a href="#">普通</a></li>
  24. </ul>
  25. </div>
  26. </div>
  27. </body>
  28. </html>

下拉菜单的位置

要右对齐下拉列表,请给 .dropdown-menu 样式后面追加 .dropdown-menu-right:

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta name="viewport" content="width=device-width, initial-scale=1">
  5. <link rel="stylesheet" href="https://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
  6. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  7. <script src="https://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
  8. </head>
  9. <body>
  10. <div class="container">
  11. <h2>下拉菜单</h2>
  12. <p>.dropdown-menu 样式后面追加 .dropdown-menu-right 使下拉列表右对齐:</p>
  13. <div class="dropdown">
  14. <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">下拉菜单实例
  15. <span class="caret"></span></button>
  16. <ul class="dropdown-menu dropdown-menu-right">
  17. <li><a href="#">HTML</a></li>
  18. <li><a href="#">CSS</a></li>
  19. <li><a href="#">JavaScript</a></li>
  20. <li class="divider"></li>
  21. <li><a href="#">About Us</a></li>
  22. </ul>
  23. </div>
  24. </div>
  25. </body>
  26. </html>

向上展开的菜单

如果希望下拉菜单向上展开而不是向下,请将 <div> 的 class="dropdown" 修改为 "dropup":

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta name="viewport" content="width=device-width, initial-scale=1">
  5. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
  6. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  7. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
  8. </head>
  9. <body>
  10. <div class="container" style="margin-top:50px;">
  11. <h2>Dropup</h2>
  12. <p>.dropup 使得向下展开的菜单向上展开:</p>
  13. <div class="dropup">
  14. <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">Dropup 实例
  15. <span class="caret"></span></button>
  16. <ul class="dropdown-menu">
  17. <li><a href="#">HTML</a></li>
  18. <li><a href="#">CSS</a></li>
  19. <li><a href="#">JavaScript</a></li>
  20. <li class="divider"></li>
  21. <li><a href="#">About Us</a></li>
  22. </ul>
  23. </div>
  24. </div>
  25. </body>
  26. </html>

Dropdown 可访问性

为了帮助提高使用屏幕阅读器的用户的可访问性,在创建下拉菜单时,您应该包含以下 rolearia-* 属性:

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta name="viewport" content="width=device-width, initial-scale=1">
  5. <link rel="stylesheet" href="https://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
  6. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  7. <script src="https://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
  8. </head>
  9. <body>
  10. <div class="container">
  11. <h2>Dropdowns</h2>
  12. <p>.dropdown 用于指示一个下拉菜单</p>
  13. <p>用 .dropdown-menu 类来创建下拉选项</p>
  14. <div class="dropdown">
  15. <button class="btn btn-default dropdown-toggle" type="button" id="menu1" data-toggle="dropdown">教程
  16. <span class="caret"></span></button>
  17. <ul class="dropdown-menu" role="menu" aria-labelledby="menu1">
  18. <li role="presentation"><a role="menuitem" tabindex="-1" href="#">HTML</a></li>
  19. <li role="presentation"><a role="menuitem" tabindex="-1" href="#">CSS</a></li>
  20. <li role="presentation"><a role="menuitem" tabindex="-1" href="#">JavaScript</a></li>
  21. <li role="presentation" class="divider"></li>
  22. <li role="presentation"><a role="menuitem" tabindex="-1" href="#">About Us</a></li>
  23. </ul>
  24. </div>
  25. </div>
  26. </body>
  27. </html>

完整的 Bootstrap 下拉菜单参考

有关所有下拉选项、方法和事件的完整参考,请访问本站的 Bootstrap JS 下拉菜单参考