Bootstrap4 下拉菜单

前言 🔗

  • Bootstrap4 下拉菜单依赖于 popper.min.js。

1、下拉菜单

  • 下拉菜单是可切换的,是以列表格式显示链接的上下文菜单。

  • 实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <div class="container">
    <div class="dropdown">
    <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
    Dropdown button
    </button>
    <div class="dropdown-menu">
    <a class="dropdown-item" href="#">Link 1</a>
    <a class="dropdown-item" href="#">Link 2</a>
    <a class="dropdown-item" href="#">Link 3</a>
    </div>
    </div>
    </div>
  • 效果 🔗

  • 解析

    • .dropdown 类用来指定一个下拉菜单。
    • 可以使用一个按钮或链接来打开下拉菜单,按钮或链接需要添加 .dropdown-toggledata-toggle="dropdown" 属性。
    • <div> 元素上添加 .dropdown-menu 类来设置实际下拉菜单,然后在下拉菜单的选项中添加 .dropdown-item 类。

1.1 在 < a > 标签中使用

  • 也可以在 <a> 标签中使用:

  • 实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <div class="container">
    <div class="dropdown">
    <a class="btn btn-secondary dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown link
    </a>
    <div class="dropdown-menu" aria-labelledby="dropdownMenuLink">
    <a class="dropdown-item" href="#">Action</a>
    <a class="dropdown-item" href="#">Another action</a>
    <a class="dropdown-item" href="#">Something else here</a>
    </div>
    </div>
    </div>
  • 效果 🔗

2、下拉菜单中的分割线

  • .dropdown-divider 类用于在下拉菜单中创建一个水平的分割线:

  • 实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <div class="container">
    <div class="dropdown">
    <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
    Dropdown button
    </button>
    <div class="dropdown-menu">
    <a class="dropdown-item" href="#">Link 1</a>
    <a class="dropdown-item" href="#">Link 2</a>
    <a class="dropdown-item" href="#">Link 3</a>
    <div class="dropdown-divider"></div>
    <a class="dropdown-item" href="#">Another link</a>
    </div>
    </div>
    </div>
  • 效果 🔗

3、下拉菜单中的标题

  • .dropdown-header 类用于在下拉菜单中添加标题:

  • 实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <div class="container">
    <div class="dropdown">
    <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
    Dropdown button
    </button>
    <div class="dropdown-menu">
    <h5 class="dropdown-header">Dropdown header</h5>
    <a class="dropdown-item" href="#">Link 1</a>
    <a class="dropdown-item" href="#">Link 2</a>
    <a class="dropdown-item" href="#">Link 3</a>
    <h5 class="dropdown-header">Dropdown header</h5>
    <a class="dropdown-item" href="#">Another link</a>
    </div>
    </div>
    </div>
  • 效果 🔗

4、下拉菜单中的可用项与禁用项

  • .active 类会让下拉菜单的选项高亮显示 (添加蓝色背景)。

  • 如果要禁用下拉菜单的选项,可以使用 .disabled 类。

  • 实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <div class="container">
    <div class="dropdown">
    <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
    Dropdown button
    </button>
    <div class="dropdown-menu">
    <a class="dropdown-item" href="#">Normal</a>
    <a class="dropdown-item active" href="#">Active</a>
    <a class="dropdown-item disabled" href="#">Disabled</a>
    </div>
    </div>
    </div>
  • 效果 🔗

5、下拉菜单的定位

  • 如果想让下拉菜单右对齐,可以在元素上的 .dropdown-menu 类后添加 .dropdown-menu-right 类。

  • 实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <div class="container">
    <div class="dropdown">
    <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
    Dropdown button
    </button>
    <div class="dropdown-menu dropdown-menu-right">
    <a class="dropdown-item" href="#">Link 1</a>
    <a class="dropdown-item" href="#">Link 2</a>
    <a class="dropdown-item" href="#">Link 3</a>
    </div>
    </div>
    </div>
  • 效果 🔗

6、下拉菜单弹出方向设置

  • 下拉菜单弹出方向默认为向下,当然我们也可以设置不同的方向。

6.1 指定向右弹出的下拉菜单

  • 如果希望下拉菜单向右弹出,可以在 div 元素上添加 “dropright” 类:

  • 实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <div class="container">
    <!-- Default dropright button -->
    <div class="btn-group dropright">
    <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropright
    </button>
    <div class="dropdown-menu">
    <!-- Dropdown menu links -->
    <a class="dropdown-item" href="#">Action</a>
    <a class="dropdown-item" href="#">Another action</a>
    <a class="dropdown-item" href="#">Something else here</a>
    <div class="dropdown-divider"></div>
    <a class="dropdown-item" href="#">Separated link</a>
    </div>
    </div>

    <!-- Split dropright button -->
    <div class="btn-group dropright">
    <button type="button" class="btn btn-secondary">
    Split dropright
    </button>
    <button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span class="sr-only">Toggle Dropright</span>
    </button>
    <div class="dropdown-menu">
    <!-- Dropdown menu links -->
    <a class="dropdown-item" href="#">Action</a>
    <a class="dropdown-item" href="#">Another action</a>
    <a class="dropdown-item" href="#">Something else here</a>
    <div class="dropdown-divider"></div>
    <a class="dropdown-item" href="#">Separated link</a>
    </div>
    </div>
    </div>
  • 效果 🔗

6.2 指定向上弹出的上拉菜单

  • 如果希望上拉菜单向上弹出,可以在 div 元素上添加 “dropup” 类:

  • 实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <div class="container">
    </p><br><br><br><br><br><br><br><br>

    <!-- Default dropup button -->
    <div class="btn-group dropup">
    <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropup
    </button>
    <div class="dropdown-menu">
    <!-- Dropdown menu links -->
    <a class="dropdown-item" href="#">Action</a>
    <a class="dropdown-item" href="#">Another action</a>
    <a class="dropdown-item" href="#">Something else here</a>
    <div class="dropdown-divider"></div>
    <a class="dropdown-item" href="#">Separated link</a>
    </div>
    </div>

    <!-- Split dropup button -->
    <div class="btn-group dropup">
    <button type="button" class="btn btn-secondary">
    Split dropup
    </button>
    <button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span class="sr-only">Toggle Dropdown</span>
    </button>
    <div class="dropdown-menu">
    <!-- Dropdown menu links -->
    <a class="dropdown-item" href="#">Action</a>
    <a class="dropdown-item" href="#">Another action</a>
    <a class="dropdown-item" href="#">Something else here</a>
    <div class="dropdown-divider"></div>
    <a class="dropdown-item" href="#">Separated link</a>
    </div>
    </div>
    </div>
  • 效果 🔗

6.3 指定向左边弹出的下拉菜单

  • 如果希望下拉菜单向上弹出,可以在 div 元素上添加 “dropleft” 类:

  • 实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <div class="container" style="text-align:center;">
    <!-- Default dropleft button -->
    <div class="btn-group dropleft">
    <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropleft
    </button>
    <div class="dropdown-menu">
    <!-- Dropdown menu links -->
    <a class="dropdown-item" href="#">Action</a>
    <a class="dropdown-item" href="#">Another action</a>
    <a class="dropdown-item" href="#">Something else here</a>
    <div class="dropdown-divider"></div>
    <a class="dropdown-item" href="#">Separated link</a>
    </div>
    </div>
    <br><br><br>

    <!-- Split dropleft button -->
    <div class="btn-group dropleft">
    <button type="button" class="btn btn-secondary">
    Split dropleft
    </button>
    <button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <span class="sr-only">Toggle Dropleft</span>
    </button>
    <div class="dropdown-menu">
    <!-- Dropdown menu links -->
    <a class="dropdown-item" href="#">Action</a>
    <a class="dropdown-item" href="#">Another action</a>
    <a class="dropdown-item" href="#">Something else here</a>
    <div class="dropdown-divider"></div>
    <a class="dropdown-item" href="#">Separated link</a>
    </div>
    </div>
    </div>
  • 效果 🔗

7、按钮中设置下拉菜单

  • 可以在按钮中添加下拉菜单:

  • 实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    <div class="container">
    <div class="btn-group">
    <button type="button" class="btn btn-primary">Primary</button>
    <button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown">
    <span class="caret"></span>
    </button>
    <div class="dropdown-menu">
    <a class="dropdown-item" href="#">Link 1</a>
    <a class="dropdown-item" href="#">Link 2</a>
    </div>
    </div>

    <div class="btn-group">
    <button type="button" class="btn btn-secondary">Secondary</button>
    <button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split"
    data-toggle="dropdown">
    <span class="caret"></span>
    </button>
    <div class="dropdown-menu">
    <a class="dropdown-item" href="#">Link 1</a>
    <a class="dropdown-item" href="#">Link 2</a>
    </div>
    </div>

    <div class="btn-group">
    <button type="button" class="btn btn-success">Success</button>
    <button type="button" class="btn btn-success dropdown-toggle dropdown-toggle-split" data-toggle="dropdown">
    <span class="caret"></span>
    </button>
    <div class="dropdown-menu">
    <a class="dropdown-item" href="#">Link 1</a>
    <a class="dropdown-item" href="#">Link 2</a>
    </div>
    </div>

    <div class="btn-group">
    <button type="button" class="btn btn-info">Info</button>
    <button type="button" class="btn btn-info dropdown-toggle dropdown-toggle-split" data-toggle="dropdown">
    <span class="caret"></span>
    </button>
    <div class="dropdown-menu">
    <a class="dropdown-item" href="#">Link 1</a>
    <a class="dropdown-item" href="#">Link 2</a>
    </div>
    </div>

    <div class="btn-group">
    <button type="button" class="btn btn-warning">Warning</button>
    <button type="button" class="btn btn-warning dropdown-toggle dropdown-toggle-split" data-toggle="dropdown">
    <span class="caret"></span>
    </button>
    <div class="dropdown-menu">
    <a class="dropdown-item" href="#">Link 1</a>
    <a class="dropdown-item" href="#">Link 2</a>
    </div>
    </div>

    <div class="btn-group">
    <button type="button" class="btn btn-danger">Danger</button>
    <button type="button" class="btn btn-danger dropdown-toggle dropdown-toggle-split" data-toggle="dropdown">
    <span class="caret"></span>
    </button>
    <div class="dropdown-menu">
    <a class="dropdown-item" href="#">Link 1</a>
    <a class="dropdown-item" href="#">Link 2</a>
    </div>
    </div>
    </div>
  • 效果 🔗

文章目录
  1. 1. 前言 🔗
  2. 2. 1、下拉菜单
    1. 2.1. 1.1 在 < a > 标签中使用
  3. 3. 2、下拉菜单中的分割线
  4. 4. 3、下拉菜单中的标题
  5. 5. 4、下拉菜单中的可用项与禁用项
  6. 6. 5、下拉菜单的定位
  7. 7. 6、下拉菜单弹出方向设置
    1. 7.1. 6.1 指定向右弹出的下拉菜单
    2. 7.2. 6.2 指定向上弹出的上拉菜单
    3. 7.3. 6.3 指定向左边弹出的下拉菜单
  8. 8. 7、按钮中设置下拉菜单
隐藏目录