准备
bootstrap版本: v4.3
以下内容放在.html文件的<head>里:
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
以下内容放在.html文件的<body>的最后:
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
HTML:建立主菜单项目与可折叠区域的联系
<
1. 主菜单中的链接a.nav-link设置以下属性:
- 表示点击此连接可打开/关闭一个折叠内容。
data-toggle="collapse"
- 通过id定位折叠内容
data-target="#DropdownContent"
2. 创建可折叠区域div.collapse,并标记id:
<div class="collapse" id="DropdownContent">
CSS
设置下拉菜单的样式
.
固定主菜单项目的位置
没有设置下面的样式前,展开下拉菜单会导致主菜单项目的位移,包括:
- Brand Name会向下移动到导航栏的中间。需要将其固定在导航栏顶部。
bootstrap中navbar的本质是一个flexbox,因此可以使用flexbox中的align-items属性控制主菜单项目的位置。代码实现:
.
- 展开下拉菜单前后,Link的位置会出现轻微的水平移动。
Link展开后,它下方的下拉菜单的宽度大于Link本身的宽度,因此Link在主菜单的宽度被迫增加,向左推挤Another Link。解决方法是预设Link的最小宽度,保证其大于下拉菜单的宽度。代码实现:
.
移动主体内容
展开的导航栏会遮住一部分主体内容,因此要将主体内容往下移一点。可以给主体内容设置一个padding-top。
本文介绍了如何使用Bootstrap v4.3创建可折叠的navbar下拉菜单。主要内容包括设置HTML中的主菜单链接和可折叠区域,以及CSS样式调整,如固定主菜单位置、防止内容被遮挡等。

2517

被折叠的 条评论
为什么被折叠?



