Bootstrap下拉選單、按鈕式下拉選單
阿新 • • 發佈:2021-02-28
1. 概述
下拉選單使用頻率也是比較高的,比較常見的使用場景是在導航選單欄,某個主選單含有下拉的子選單。
Bootstrap為下拉選單提供了兩種實現方式,即普通的下拉選單還有按鈕式的下拉選單。我們先看一張圖觀察下,從圖中可以看出,普通下拉選單和按鈕式下拉選單的樣式基本相同,唯一比較明顯的區別是:普通下拉選單相當於選單,前後自動換行;而按鈕式的下拉選單相當於按鈕,前後不換行。
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>
效果如下:
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>
效果如下:
2.3 更換尺寸
其實就是通過btn-lg
或btn-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>
效果如下:
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>
效果如下:
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>
效果如下:
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>
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>