一、Bootstrap5 下拉菜单
下拉菜单是可切换的,是以列表格式显示链接的上下文菜单。
例:
<div class="dropdown"><button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown">下拉菜单按钮</button><div class="dropdown-menu"><a class="dropdown-item" href="#">链接 1</a><a class="dropdown-item" href="#">链接 2</a><a class="dropdown-item" href="#">链接 3</a></div>
</div>
.dropdown 类用来指定一个下拉菜单。
我们可以使用一个按钮或链接来打开下拉菜单, 按钮或链接需要添加 .dropdown-toggle 和 data-bs-toggle="dropdown" 属性。
div 元素上添加 .dropdown-menu 类来设置实际下拉菜单,然后在下拉菜单的选项中添加 .dropdown-item 类。
1.1 下拉菜单中的分割线
.dropdown-divider 类用于在下拉菜单中创建一个水平的分割线:
例:
<li><hr class="dropdown-divider"></hr></li>
1.2 下拉菜单中的标题
.dropdown-header 类用于在下拉菜单中添加标题:
例:
<li><h5 class="dropdown-header">标题 1</h5></li>
1.3 下拉菜单中的可用项与禁用项
.active 类会让下拉菜单的选项高亮显示 (添加蓝色背景)。
如果要禁用下拉菜单的选项,可以使用.disabled 类。
例:
<a class="dropdown-item" href="#">常规项</a>
<a class="dropdown-item active" href="#">激活项</a>
<a class="dropdown-item disabled" href="#">禁用项</a>
1.4 下拉菜单的定位
如果我们想让下拉菜单右对齐,可以在元素上的 .dropdown 类后添加 .dropend 或 .dropstart 类。
.dropend 是右对齐, .dropstart 是左对齐。
例:
<!-- 右对齐 --> <div class="dropdown dropend"> ... </div>
<!-- 左对齐 --> <div class="dropdown dropstart"> ... </div>
1.5 下拉菜单弹出方向设置
下拉菜单弹出方向默认为向下,当然我们也可以设置不同的方向。
1.5.1 指定向右弹出的下拉菜单
如果你希望下拉菜单向右下方弹出,可以在 div 元素上添加 .dropdown-menu-end 类:
例:
<!-- 右下方拉菜单按钮 -->
<div class="dropdown dropdown-menu-end">
<button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown">下拉菜单右下方弹出</button><ul class="dropdown-menu"><li><a class="dropdown-item" href="#">链接 1</a></li><li><a class="dropdown-item" href="#">链接 2</a></li><li><a class="dropdown-item" href="#">链接 3</a></li></ul>
</div>
1.5.2 指定向上弹出的上拉菜单
如果你希望上拉菜单向上弹出,可以在 div 元素上添加 "dropup" 类:
例:
<!-- 向上菜单 -->
<div class="dropup"><button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown">下拉菜单</button><ul class="dropdown-menu"><li><a class="dropdown-item" href="#">链接 1</a></li><li><a class="dropdown-item" href="#">链接 2</a></li><li><a class="dropdown-item" href="#">链接 3</a></li></ul>
</div>
1.5.3 指定向左边弹出的下拉菜单
如果你希望下拉菜单向上弹出,可以在 div 元素上添加 dropstart 类:
例:
<!-- 左边的下拉菜单 -->
<div class="dropstart">添加一些内容,用于测试向左边弹出效果。<button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown">下拉菜单</button><ul class="dropdown-menu"><li><a class="dropdown-item" href="#">链接 1</a></li><li><a class="dropdown-item" href="#">链接 2</a></li><li><a class="dropdown-item" href="#">链接 3</a></li></ul>
</div>
1.6 下拉菜单设置文本
.dropdown-item-text 类可以设置下拉菜单中的文本项:
例:
<ul class="dropdown-menu"><li><a class="dropdown-item" href="#">链接 1</a></li><li><a class="dropdown-item" href="#">链接 2</a></li><li><a class="dropdown-item" href="#">链接 3</a></li><li><a class="dropdown-item-text" href="#">文本链接</a></li><li><span class="dropdown-item-text">仅仅是文本</span></li>
</ul>
1.7 按钮组中设置下拉菜单
我们可以在按钮中添加下拉菜单:
例:
<div class="btn-group"><button type="button" class="btn btn-primary">Apple</button><button type="button" class="btn btn-primary">Samsung</button><div class="btn-group"><button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown">Sony</button><ul class="dropdown-menu"><li><a class="dropdown-item" href="#">Tablet</a></li><li><a class="dropdown-item" href="#">Smartphone</a></li></ul></div>
</div>
垂直按钮组带下拉菜单:
例:
<div class="btn-group-vertical"><button type="button" class="btn btn-primary">Apple</button><button type="button" class="btn btn-primary">Samsung</button><div class="btn-group"><button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown">Sony</button><ul class="dropdown-menu"><li><a class="dropdown-item" href="#">Tablet</a></li><li><a class="dropdown-item" href="#">Smartphone</a></li></ul></div>
</div>
[我耀学IT] Patience is key in life
二、Bootstrap5 导航
如果你想创建一个简单的水平导航栏,可以在 <ul> 元素上添加 .nav类,在每个 <li> 选项上添加 .nav-item 类,在每个链接上添加 .nav-link 类:
例:
<ul class="nav"><li class="nav-item"><a class="nav-link" href="#">Link</a></li><li class="nav-item"><a class="nav-link" href="#">Link</a></li><li class="nav-item"><a class="nav-link" href="#">Link</a></li><li class="nav-item"><a class="nav-link disabled" href="#">Disabled</a></li>
</ul>
2.1 导航对齐方式
.justify-content-center 类设置导航居中显示, .justify-content-end 类设置导航右对齐。
例:
<!-- 导航居中 --> <ul class="nav justify-content-center">
<!-- 导航右对齐 --> <ul class="nav justify-content-end"> </div>
2.2 垂直导航
.flex-column 类用于创建垂直导航:
例:
<ul class="nav flex-column">
2.3 选项卡
使用 .nav-tabs 类可以将导航转化为选项卡。然后对于选中的选项使用 .active 类来标记。
例:
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" href="#">Active</a></li><li class="nav-item"><a class="nav-link" href="#">Link</a></li><li class="nav-item"><a class="nav-link" href="#">Link</a></li><li class="nav-item"><a class="nav-link disabled" href="#">Disabled</a></li>
</ul>
2.4 胶囊导航
.nav-pills 类可以将导航项设置成胶囊形状。
例:
<ul class="nav nav-pills"><li class="nav-item"><a class="nav-link active" href="#">Active</a></li><li class="nav-item"><a class="nav-link" href="#">Link</a></li><li class="nav-item"><a class="nav-link" href="#">Link</a></li><li class="nav-item"><a class="nav-link disabled" href="#">Disabled</a></li>
</ul>
2.5 导航等宽
.nav-justified 类可以设置导航项齐行等宽显示。
例:
<ul class="nav nav-pills nav-justified">..</ul> <ul class="nav nav-tabs nav-justified">..</ul>
2.6 胶囊下拉菜单
例:
<ul class="nav nav-pills"><li class="nav-item"><a class="nav-link active" href="#">Active</a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#">Dropdown</a><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></li><li class="nav-item"><a class="nav-link" href="#">Link</a></li><li class="nav-item"><a class="nav-link disabled" href="#">Disabled</a></li>
</ul>
2.7 选项卡下拉菜单
例:
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" href="#">Active</a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#">Dropdown</a><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></li><li class="nav-item"><a class="nav-link" href="#">Link</a></li><li class="nav-item"><a class="nav-link disabled" href="#">Disabled</a></li>
</ul>
2.8 动态选项卡
如果你要设置选项卡是动态可切换的,可以在每个链接上添加 data-bs-toggle="tab" 属性。 然后在每个选项对应的内容的上添加 .tab-pane 类,对应选项卡的内容的 <div> 标签使用 .tab-content 类 。
如果你希望有淡入效果可以在 .tab-pane 后添加 .fade类:
例:
<!-- Nav tabs -->
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" data-bs-toggle="tab" href="#home">Home</a></li><li class="nav-item"><a class="nav-link" data-bs-toggle="tab" href="#menu1">Menu 1</a></li><li class="nav-item"><a class="nav-link" data-bs-toggle="tab" href="#menu2">Menu 2</a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content"><div class="tab-pane active container" id="home">...</div><div class="tab-pane container" id="menu1">...</div><div class="tab-pane container" id="menu2">...</div>
</div>
2.9 胶囊状动态选项卡
胶囊状动态选项卡只需要将以上实例的代码中 data-bs-toggle 属性设置为 data-bs-toggle="pill":
例:
<!-- Nav pills -->
<ul class="nav nav-pills"><li class="nav-item"><a class="nav-link active" data-bs-toggle="pill" href="#home">Home</a></li><li class="nav-item"><a class="nav-link" data-bs-toggle="pill" href="#menu1">Menu 1</a></li><li class="nav-item"><a class="nav-link" data-bs-toggle="pill" href="#menu2">Menu 2</a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content"><div class="tab-pane active container" id="home">...</div><div class="tab-pane container" id="menu1">...</div><div class="tab-pane container" id="menu2">...</div>
</div>
[我耀学IT] Patience is key in life