第 7 章 图标菜单按钮组件

学习要点:

1.小图标组件

2.下拉菜单组件

3.按钮组组件

4.按钮式下拉菜单

主讲教师:李炎恢

本节课我们主要学习一下 Bootstrap 的三个组件功能:小图标组件、下拉菜单组件和各种按钮组件。

一.小图标组件

Bootstrap 提供了免费的 263 个小图标(数了两次),具体可以参考中文官网的组件链接:http://v3.bootcss.com/components/#glyphicons。

部分图标如下:

第 7 章 图标菜单按钮组件 - 图1

可以使用<i>或<span>标签来配合使用,具体如下:

//使用小图标

  1. <i class="glyphicon glyphicon-star"></i>
  2. <span class="glyphicon glyphicon-star"></span>

//也可以结合按钮

  1. <button class="btn btn-default btn-lg">
  2. <span class="glyphicon glyphicon-star"></span>
  3. </button>
  4. <button class="btn btn-default btn">
  5. <span class="glyphicon glyphicon-star"></span>
  6. </button>
  7. <button class="btn btn-default btn-sm">
  8. <span class="glyphicon glyphicon-star"></span>
  9. </button>
  10. <button class="btn btn-default btn-xs">
  11. <span class="glyphicon glyphicon-star"></span>
  12. </button>

二.下拉菜单组件

下拉菜单,就是点击一个元素或按钮,触发隐藏的列表显示出来。

//基本格式

  1. <div class="dropdown">
  2. <button class="btn btn-default" data-toggle="dropdown"> 下拉菜单 <span class="caret"></span>
  3. </button>
  4. <ul class="dropdown-menu">
  5. <li>
  6. <a href="#">首页</a>
  7. </li>
  8. <li>
  9. <a href="#">资讯</a>
  10. </li>
  11. <li>
  12. <a href="#">产品</a>
  13. </li>
  14. <li>
  15. <a href="#">关于</a>
  16. </li>
  17. </ul>
  18. </div>

按钮和菜单需要包裹在.dropdown 的容器里,而作为被点击的元素按钮需要设置data-toggle="dropdown"才能有效。对于菜单部分,设置 class="dropdown-menu"才能自动隐藏并添加固定样式。设置 class="caret"表示箭头,可上可下。

//设置向上触发

  1. <div class="dropup">

//菜单项居右对齐,默认值是 dropdown-menu-left

  1. <ul class="dropdown-menu dropdown-menu-right">

//设置菜单的标题,不要加超链接

  1. <li class="dropdown-header">网站导航</li>

//设置菜单的分割线

  1. <li class="divider"></li>

//设置菜单的禁用项

  1. <li class="disabled"><a href="#">产品</a></li>

//让菜单默认显示

  1. <div class="dropdown open">

三.按钮组组件

按钮组就是多个按钮集成在一个容器里形成独有的效果。

//基本格式

  1. <div class="btn-group">
  2. <button type="button" class="btn btn-default"></button>
  3. <button type="button" class="btn btn-default"></button>
  4. <button type="button" class="btn btn-default"></button>
  5. </div>

//将多个按钮组整合起来便于管理

  1. <div class="btn-toolbar">
  2. <div class="btn-group">
  3. <button type="button" class="btn btn-default"></button>
  4. <button type="button" class="btn btn-default"></button>
  5. <button type="button" class="btn btn-default"></button>
  6. </div>
  7.  
  8. <div class="btn-group">
  9. <button type="button" class="btn btn-default"> 1 </button>
  10. <button type="button" class="btn btn-default"> 2 </button>
  11. <button type="button" class="btn btn-default"> 3 </button>
  12. </div>
  13. </div>

//设置按钮组大小

  1. <div class="btn-group btn-group-lg">
  2. <div class="btn-group>
  3. <div class="btn-group btn-group-sm">
  4. <div class="btn-group btn-group-xs">

//嵌套一个分组,比如下拉菜单

  1. <div class="btn-group">
  2. <button type="button" class="btn btn-default"></button>
  3. <button type="button" class="btn btn-default"></button>
  4. <button type="button" class="btn btn-default"></button>
  5. <div class="btn-group">
  6. <button class="btn btn-default dropdown-toggle" data-toggle="dropdown"> 下拉菜单 <span class="caret"></span>
  7. </button>
  8.  
  9. <ul class="dropdown-menu">
  10. <li>
  11. <a href="#">首页</a>
  12. </li>
  13. <li>
  14. <a href="#">资讯</a>
  15. </li>
  16. <li>
  17. <a href="#">产品</a>
  18. </li>
  19. <li>
  20. <a href="#">关于</a>
  21. </li>
  22. </ul>
  23. </div>
  24. </div>

注意:这里<div>中并没有实现 class="dropdown",通过源码分析知道嵌套本身已经有定位就不需要再设置。而右边的圆角只要多加一个 class="dropdown-toggle"即可。

//设置按钮组垂直排列

  1. <div class="btn-group-vertical">

//设置两端对齐按钮组,使用<a>标签

  1. <div class="btn-group-justified">
  2. <a type="button" class="btn btn-default"></a>
  3. <a type="button" class="btn btn-default"></a>
  4. <a type="button" class="btn btn-default"></a>
  5. </div>

//如果需要使用<button>标签,则需要对每个按钮进行群组

  1. <div class="btn-group-justified">
  2. <div class="btn-group">
  3. <button type="button" class="btn btn-default"></button>
  4. </div>
  5. <div class="btn-group">
  6. <button type="button" class="btn btn-default"></button>
  7. </div>
  8. <div class="btn-group">
  9. <button type="button" class="btn btn-default"></button>
  10. </div>
  11. </div>

四.按钮式下拉菜单

这个下拉菜单其实和第二个知识点一样,只不过,这个是在群组里,不需要<div>声明class="dropdown"。

//群组按钮下拉菜单

  1. <div class="btn-group">
  2. <button type="button" class="btn btn-default dropdown-toggle"data-toggle="dropdown"> 下拉菜单 <span class="caret"></span>
  3. </button>
  4. <ul class="dropdown-menu">
  5. <li>
  6. <a href="#">首页</a>
  7. </li>
  8. <li>
  9. <a href="#">资讯</a>
  10. </li>
  11. <li>
  12. <a href="#">产品</a>
  13. </li>
  14. <li>
  15. <a href="#">关于</a>
  16. </li>
  17. </ul>
  18. </div>

//分裂式按钮下拉菜单

  1. <div class="btn-group">
  2. <button type="button" class="btn btn-default"> 下拉菜单 </button>
  3. <button type="button" class="btn btn-default dropdown-toggle"data-toggle="dropdown">
  4. <span class="caret"></span>
  5. </button>
  6. <ul class="dropdown-menu">
  7. <li>
  8. <a href="#">首页</a>
  9. </li>
  10. <li>
  11. <a href="#">资讯</a>
  12. </li>
  13. <li>
  14. <a href="#">产品</a>
  15. </li>
  16. <li>
  17. <a href="#">关于</a>
  18. </li>
  19. </ul>
  20. </div>

//向上弹出式

  1. <div class="btn-group dropup">