第 7 章 图标菜单按钮组件

    1.小图标组件

    2.下拉菜单组件

    3.按钮组组件

    4.按钮式下拉菜单

    主讲教师:李炎恢

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

    一.小图标组件

    Bootstrap 提供了免费的 263 个小图标(数了两次),具体可以参考中文官网的组件链接:

    部分图标如下:

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

    //使用小图标

    1. <span class="glyphicon glyphicon-star"></span>
    2. </button>
    3. <button class="btn btn-default btn">
    4. <span class="glyphicon glyphicon-star"></span>
    5. </button>
    6. <button class="btn btn-default btn-sm">
    7. <span class="glyphicon glyphicon-star"></span>
    8. </button>
    9. <button class="btn btn-default btn-xs">
    10. <span class="glyphicon glyphicon-star"></span>
    11. </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="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. </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. <div class="btn-group">
    8. <button type="button" class="btn btn-default"> 1 </button>
    9. <button type="button" class="btn btn-default"> 2 </button>
    10. <button type="button" class="btn btn-default"> 3 </button>
    11. </div>
    12. </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">

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

    注意:这里<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>

    四.按钮式下拉菜单

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

    //群组按钮下拉菜单

    1. <button type="button" class="btn btn-default dropdown-toggle"data-toggle="dropdown"> 下拉菜单 <span class="caret"></span>
    2. </button>
    3. <ul class="dropdown-menu">
    4. <li>
    5. <a href="#">首页</a>
    6. </li>
    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. </ul>
    17. </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>

    //向上弹出式