Bootstrap教程(19)--下拉菜单、按钮式下拉菜单

简介: 本文目录1. 概述2. 下拉菜单2.1 普通下拉菜单2.2 更换颜色2.3 更换尺寸2.4 添加分割线2.5 菜单分组2.6 上拉菜单3. 按钮式下拉菜单4. 小结

1. 概述

下拉菜单使用频率也是比较高的,比较常见的使用场景是在导航菜单栏,某个主菜单含有下拉的子菜单。


Bootstrap为下拉菜单提供了两种实现方式,即普通的下拉菜单还有按钮式的下拉菜单。我们先看一张图观察下,从图中可以看出,普通下拉菜单和按钮式下拉菜单的样式基本相同,唯一比较明显的区别是:普通下拉菜单相当于菜单,前后自动换行;而按钮式的下拉菜单相当于按钮,前后不换行。

image.png

2. 下拉菜单

2.1 普通下拉菜单

先来看下普通下拉菜单的示例代码,通过dropdown描述一个下拉菜单,下拉菜单的主按钮通过dropdown-toggle类描述,下拉子菜单的部分是dropdown-menu类描述的ul元素。最后注意下拉箭头是通过caret样式类实现的。

        普通下拉菜单:
                <div class="dropdown">
                    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>

效果如下:image.png

2.2 更换颜色

其实就是更换按钮的样式类,如下代码将默认按钮改为了首选按钮btn-primary

        更换颜色:
                <div class="dropdown">
                    <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>

效果如下:

image.png

2.3 更换尺寸

其实就是通过btn-lgbtn-sm更换按钮的尺寸。

        更换尺寸:
                <div class="dropdown">
                    <button class="btn btn-default btn-lg dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>

效果如下:

image.png

2.4 添加分割线

可以在子菜单之间添加分割线,示例代码:

        添加分割线:
                <div class="dropdown">
                    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li role="separator" class="divider"></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>

效果如下:

image.png

2.5 菜单分组

如果子菜单较多,还可以进行分组:

        菜单分组:
                <div class="dropdown">
                    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li class="dropdown-header">分组1</li>
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                        <li class="dropdown-header">分组2</li>
                        <li><a href="#">命令3</a></li>
                        <li><a href="#">命令4</a></li>
                    </ul>
                </div>

image.png

2.6 上拉菜单

这个实现比较奇葩,可以让子菜单弹出方向改变,真实使用场景我都没见过。只需要将dropdown样式类改为dropup即可。


   上拉菜单:

               <div class="dropup">

                   <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">

                       下发命令

                       <span class="caret"></span>

                   </button>

                   <ul class="dropdown-menu">

                       <li><a href="#">命令1</a></li>

                       <li><a href="#">命令2</a></li>

                   </ul>

               </div>

image.png

3. 按钮式下拉菜单

按钮式下拉菜单的实现,只需要将之前的dropdown样式类改为btn-group即可,有个例外是上拉菜单,需要将dropup改为btn-group和dropup两个样式类。

具体代码如下:

      <div class="col-md-12">
                按钮式下拉菜单:
                <div class="btn-group">
                    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>
                更换颜色:
                <div class="btn-group">
                    <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>
                更换尺寸:
                <div class="btn-group">
                    <button class="btn btn-default btn-lg dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>
                添加分割线:
                <div class="btn-group">
                    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li role="separator" class="divider"></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>
                菜单分组:
                <div class="btn-group">
                    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li class="dropdown-header">分组1</li>
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                        <li class="dropdown-header">分组2</li>
                        <li><a href="#">命令3</a></li>
                        <li><a href="#">命令4</a></li>
                    </ul>
                </div>
                上拉菜单:
                <div class="btn-group dropup">
                    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
                        下发命令
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                        <li><a href="#">命令1</a></li>
                        <li><a href="#">命令2</a></li>
                    </ul>
                </div>
            </div>

4. 小结

在实际使用中,建议是用按钮式的下拉菜单。


image.png





相关文章
Bootstrap5 下拉菜单7
按钮组中可以嵌入下拉菜单,实现更多功能选项。示例展示了水平和垂直按钮组中添加下拉菜单的方法,通过 `dropdown-toggle` 类和 `data-bs-toggle=&quot;dropdown&quot;` 属性实现下拉效果。
|
1月前
|
前端开发
Bootstrap5 下拉菜单5
此示例展示了如何使用 Bootstrap 的 `dropstart` 类创建一个向左弹出的下拉菜单。通过在 `div` 元素上添加 `dropstart` 类,可以实现下拉菜单从按钮左侧弹出的效果。菜单包含三个链接项。
Bootstrap5 下拉菜单6
使用 `.dropdown-item-text` 类可以在下拉菜单中添加纯文本项,
Bootstrap5 下拉菜单4
要使上拉菜单向上弹出,可在 div 元素中添加 &quot;dropup&quot; 类。示例代码包括一个按钮和一个包含三个链接的下拉菜单列表。当点击按钮时,菜单将向上弹出。
Bootstrap5 下拉菜单3
下拉菜单默认向下弹出,但可以通过添加类 `.dropdown-menu-end` 实现向右下方弹出。示例代码展示了如何创建一个向右下方弹出的下拉菜单按钮,包含三个链接项。
Bootstrap5 按钮组5
按钮组可以将多个按钮并列显示在同一行上,
Bootstrap5 按钮组4
这是一个垂直按钮组示例,包含三个按钮:Apple、Samsung 和 Sony。其中 Sony 按钮是一个下拉菜单,包含 Tablet 和 Smartphone 两个选项。
Bootstrap5 按钮组3
按钮组内嵌下拉菜单示例:包含两个普通按钮(Apple 和 Samsung)和一个带下拉菜单的按钮(Sony),下拉菜单中包含 Tablet 和 Smartphone 两个选项。
|
1月前
|
移动开发
Bootstrap5 下拉菜单2
`.dropdown-header` 类用于在下拉菜单中添加标题,例如:`&lt;li&gt;&lt;h5 class=&quot;dropdown-header&quot;&gt;标题 1&lt;/h5&gt;&lt;/li&gt;`。`.active` 类可使选项高亮显示,`.disabled` 类可禁用选项。下拉菜单可通过添加 `.dropend` 或 `.dropstart` 类实现右对齐或左对齐。示例代码展示了如何使用这些类。
Bootstrap5 下拉菜单1
Bootstrap5 下拉菜单是可切换的上下文菜单,以列表形式显示链接。通过 `.dropdown` 类指定下拉菜单,按钮或链接需添加 `.dropdown-toggle` 和 `data-bs-toggle=&quot;dropdown&quot;` 属性。实际下拉菜单使用 `.dropdown-menu` 类,选项添加 `.dropdown-item` 类。`.dropdown-divider` 类用于创建水平分割线。