注:下拉菜单:需要popper.js
1、单一按钮的下拉菜单
<div class="col-2"> <div class="dropdown"> <!-- dropdown:下拉菜单 --> <button class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">button标签下拉</button><!-- dropdown-toggle:三角形 --> <!--data-toggle="dropdown":js交互功能???前面有提 --> <div class="dropdown-menu"> <a href="#" class="dropdown-item">北京</a> <a href="#" class="dropdown-item">上海</a> <a href="#" class="dropdown-item">广州</a> </div> </div></div>
2、使用a标签
<div class="col-2"> <div class="dropdown"> <a href="javascript:;" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">a标签下拉</a><!-- a改href --> <div class="dropdown-menu"> <a href="#" class="dropdown-item">北京</a> <a href="#" class="dropdown-item">上海</a> <a href="#" class="dropdown-item">广州</a> <div class="dropdown-divider"></div><!-- 分割线 --> <a href="#" class="dropdown-item">深圳</a> </div> </div></div>
3、分离式按钮下拉菜单
<div class="col-3"> <div class="btn-group dropdown"><!-- dropdown可加可不加 --> <button class="btn btn-success btn-lg">分离式按钮下拉菜单</button><!-- 左边的 --> <button class="btn btn-success btn-lg dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"></button><!-- 右边的 --><!-- dropdown-toggle-split:分割左右按钮 --> <div class="dropdown-menu"> <a href="#" class="dropdown-item">北京</a> <a href="#" class="dropdown-item">上海</a> <a href="#" class="dropdown-item">广州</a> <div class="dropdown-divider"></div> <a href="#" class="dropdown-item">深圳</a> </div> </div></div>
4、下拉菜单尺寸
<div class="col-3 d-flex"> <div class="dropdown"> <button class="btn btn-danger btn-lg dropdown-toggle" data-toggle="dropdown">大按钮</button><!-- btn-lg --> <div class="dropdown-menu"> <a href="#" class="dropdown-item">北京</a> <a href="#" class="dropdown-item">上海</a> <a href="#" class="dropdown-item">广州</a> </div> </div> <div class="dropdown"> <button class="btn btn-danger btn-sm dropdown-toggle" data-toggle="dropdown">小按钮</button><!-- btn-sm --> <div class="dropdown-menu"> <a href="#" class="dropdown-item">北京</a> <a href="#" class="dropdown-item">上海</a> <a href="#" class="dropdown-item">广州</a> <!-- 3.x还有xs尺寸,但是4.x没有 --> </div> </div></div>
5、下拉菜单不同方向展开:
<div class="row mt-5"> <div class="col"> <!-- 3.x版本没有左和右 --> <!--注意: 有的改变了方向但是实际只是改变的是三角形:是因为位置不够需要加margin!important --> <div class="dropup"><!-- 改变方向:dropup --> <!-- 向上展开 --> <button class="btn btn-info dropdown-toggle" data-toggle="dropdown">向上展开</button> <div class="dropdown-menu"> <a href="#" class="dropdown-item">北京</a> <a href="#" class="dropdown-item">上海</a> <a href="#" class="dropdown-item">广州</a> </div> </div> </div> <div class="col"> <div class="dropright"> <!-- 向右展开 --> <button class="btn btn-info dropdown-toggle" data-toggle="dropdown">向右展开</button> <div class="dropdown-menu"> <a href="#" class="dropdown-item">北京</a> <a href="#" class="dropdown-item">上海</a> <a href="#" class="dropdown-item">广州</a> </div> </div> </div> <div class="col"> <div class="dropdown"> <!-- 向下展开 --> <button class="btn btn-info dropdown-toggle" data-toggle="dropdown">向下展开</button> <div class="dropdown-menu"> <a href="#" class="dropdown-item">北京</a> <a href="#" class="dropdown-item">上海</a> <a href="#" class="dropdown-item">广州</a> </div> </div> </div> <div class="col"> <div class="dropleft"> <!-- 向左展开 --> <button class="btn btn-info dropdown-toggle" data-toggle="dropdown">向左展开</button> <div class="dropdown-menu"> <a href="#" class="dropdown-item">北京</a> <a href="#" class="dropdown-item">上海</a> <a href="#" class="dropdown-item">广州</a> </div> </div> </div></div>
6、菜单项使用了button标签和菜单右对齐
<div class="row mt-5"> <div class="col"> <div class="dropdown"> <button class="btn btn-info dropdown-toggle" data-toggle="dropdown">菜单项使用了button标签</button> <div class="dropdown-menu dropdown-menu-right"> <!-- 菜单右对齐:dropdown-menu-right --> <a href="#" class="dropdown-item">北京</a> <a href="#" class="dropdown-item">上海</a> <a href="#" class="dropdown-item">广州</a> <div class="dropdown-divider"></div> <button class="dropdown-item">深圳</button><!-- 可使用button标签 --> </div> </div> </div></div>
7、非交互式的下拉菜单:绝对定位,有文档流
<div class="row mt-5"> <div class="col"> <div class="dropdown"> <div class="dropdown-menu show"> <!-- show:显示菜单 --> <span class="dropdown-item-text">非点击的项</span> <h4 class="dropdown-header">下拉菜单的标题</h4> <a href="#" class="dropdown-item">北京</a> <a href="#" class="dropdown-item active">上海</a> <!-- 当前的选项 --> <a href="#" class="dropdown-item disabled">广州</a> <!-- 禁用的选项 --> <div class="dropdown-divider"></div> <button class="dropdown-item">深圳</button> </div> </div> </div></div>
8、偏移属性
<div class="row mt-5" style="margin-top: 260px!important;"> <div class="col"> <div class="dropdown"> <button class="btn btn-info dropdown-toggle" data-toggle="dropdown" data-offset="10,20">偏移</button><!-- data-offset="10,20" :离左边偏移10,上边20--> <div class="dropdown-menu"> <!-- 右对齐 --> <a href="#" class="dropdown-item">北京</a> <a href="#" class="dropdown-item">上海</a> <a href="#" class="dropdown-item">广州</a> <div class="dropdown-divider"></div> <button class="dropdown-item">深圳</button> </div> </div> </div> <div class="col"> <div class="dropdown"> <button class="btn btn-info dropdown-toggle" data-toggle="dropdown">偏移</button> <div class="dropdown-menu" data-reference="parent"><!-- data-reference="parent":根据父级决定位置 --> <!-- 右对齐 --> <a href="#" class="dropdown-item">北京</a> <a href="#" class="dropdown-item">上海</a> <a href="#" class="dropdown-item">广州</a> <div class="dropdown-divider"></div> <button class="dropdown-item">深圳</button> </div> </div> </div></div>