学习Bootstrap 5的第十一天

目录

折叠

基础的折叠

实例

Accordion(手风琴)

实例

导航

导航菜单

实例

导航对齐方式

实例

垂直导航栏

实例

动态选项卡

实例

胶囊状动态选项卡

实例

等宽的选项卡/胶囊的下拉菜单

实例

导航栏

基础的导航栏

实例

垂直导航栏

实例

居中对齐的导航栏

实例

不同颜色导航栏

实例

品牌/Logo

实例

折叠导航栏

实例

下拉菜单导航栏

实例

导航栏菜单和按钮

实例

导航栏文本

实例

固定导航栏

实例

导航栏案例

实例


折叠

基础的折叠

在 Bootstrap 5 中,折叠效果可以通过添加特定的属性和类来轻松实现内容的显示和隐藏。具体步骤如下:

1、创建一个可折叠的元素,通常使用 <div> 标签,并为其添加 .collapse 类,以指示它是可折叠的。

<div class="collapse" id="demo"><!-- 可折叠的内容 -->...
</div>

2、在按钮或链接中添加 data-bs-toggle="collapse" 属性,以触发折叠效果,并使用 data-bs-target="#id" 或 href="#id" 属性将按钮或链接与要折叠的元素关联起来。

<button type="button" data-bs-toggle="collapse" data-bs-target="#demo">点击我
</button>

或者,也可以使用 <a> 元素代替 <button>,并使用 href 属性来指定目标元素。

<a href="#demo" data-bs-toggle="collapse">点击我
</a>

3、默认情况下,折叠元素的内容是隐藏的。如果想要默认显示内容,可以在折叠元素的 <div> 上添加 .show 类。

<div class="collapse show" id="demo"><!-- 默认显示的可折叠内容 -->...
</div>

通过在按钮或链接上添加 data-bs-toggle="collapse" 和 data-bs-target="#demo"(或使用 href),单击按钮或链接时,折叠元素的内容将显示或隐藏。如果您想要默认显示内容,可以在折叠元素的 <div> 上添加 .show 类。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><h2>基础的折叠</h2><h3>默认显示内容</h3><button type="button" class="btn btn-primary" data-bs-toggle="collapse" data-bs-target="#demo">点击我</button><br /><div class="collapse show" id="demo"><div class="card card-body">这是折叠的内容</div></div><h3>内容是隐藏的</h3><a href="#demo1" data-bs-toggle="collapse">点击我</a><div class="collapse" id="demo1"><div class="card card-body">这是折叠的内容</div></div></div></body>
</html>

运行结果

Accordion(手风琴)

注意:使用 data-bs-parent 属性确保当显示可折叠项目之一时,会关闭指定父项下的所有可折叠元素。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><div id="accordion"><div class="card"><div class="card-header" id="headingOne"><h5 class="mb-0"><button class="btn btn-link" data-bs-toggle="collapse" data-bs-target="#collapseOne"aria-expanded="true" aria-controls="collapseOne">折叠项 1</button></h5></div><div id="collapseOne" class="collapse show" aria-labelledby="headingOne"data-bs-parent="#accordion"><div class="card-body">这是折叠项 1 的内容</div></div></div><div class="card"><div class="card-header" id="headingTwo"><h5 class="mb-0"><button class="btn btn-link collapsed" data-bs-toggle="collapse"data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">折叠项 2</button></h5></div><div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-bs-parent="#accordion"><div class="card-body">这是折叠项 2 的内容</div></div></div><div class="card"><div class="card-header" id="headingThree"><h5 class="mb-0"><button class="btn btn-link collapsed" data-bs-toggle="collapse"data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">折叠项 3</button></h5></div><div id="collapseThree" class="collapse" aria-labelledby="headingThree" data-bs-parent="#accordion"><div class="card-body">这是折叠项 3 的内容</div></div></div></div></div></body>
</html>

运行结果

导航

导航菜单

如果要创建简单的水平菜单,可以在 <ul> 元素上添加 .nav 类,在每个 <li> 选项上添加 .nav-item 类,在每个链接上添加 .nav-link 类来创建一个简单的水平导航栏。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><h2>简单的水平导航</h2><ul class="nav"><li class="nav-item"><a class="nav-link" href="#">链接</a></li><li class="nav-item"><a class="nav-link" href="#">链接</a></li><li class="nav-item"><a class="nav-link" href="#">链接</a></li><li class="nav-item"><a class="nav-link disabled" href="#">禁用</a></li></ul></div></body>
</html>

运行结果

导航对齐方式

在 Bootstrap 5 中,.justify-content-center 类可以用于将导航项居中显示,.justify-content-end 类可以用于将导航项右对齐。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><h2>导航对齐方式</h2><p>左对齐导航 (默认):</p><ul class="nav"><li class="nav-item"><a class="nav-link" href="#">链接</a></li><li class="nav-item"><a class="nav-link" href="#">链接</a></li><li class="nav-item"><a class="nav-link" href="#">链接</a></li><li class="nav-item"><a class="nav-link disabled" href="#">禁用</a></li></ul><p class="text-center">居中对齐导航:</p><ul class="nav justify-content-center"><li class="nav-item"><a class="nav-link" href="#">链接</a></li><li class="nav-item"><a class="nav-link" href="#">链接</a></li><li class="nav-item"><a class="nav-link" href="#">链接</a></li><li class="nav-item"><a class="nav-link disabled" href="#">禁用</a></li></ul><p class="text-end">右对齐导航:</p><ul class="nav justify-content-end"><li class="nav-item"><a class="nav-link" href="#">链接</a></li><li class="nav-item"><a class="nav-link" href="#">链接</a></li><li class="nav-item"><a class="nav-link" href="#">链接</a></li><li class="nav-item"><a class="nav-link disabled" href="#">禁用</a></li></ul></div></body>
</html>

运行结果

垂直导航栏

.flex-column 类可以用于创建垂直导航。通过将该类添加到 <ul> 元素上,可以使导航项在垂直方向上排列。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><h2>垂直导航栏</h2><ul class="nav flex-column"><li class="nav-item"><a class="nav-link" href="#">链接</a></li><li class="nav-item"><a class="nav-link" href="#">链接</a></li><li class="nav-item"><a class="nav-link" href="#">链接</a></li><li class="nav-item"><a class="nav-link disabled" href="#">禁用</a></li></ul></div></body>
</html>

运行结果

动态选项卡

  1. 使用 .nav-tabs 类可以将导航转化为选项卡,并使用 .active 类来标记当前选中的选项。
  2. 如果要设置选项卡是动态可切换的,可以在每个链接上添加 data-bs-toggle="tab" 属性。 然后在每个选项对应的内容的上添加 .tab-pane 类,对应选项卡的内容的 <div> 标签使用 .tab-content 类 。

注意:如果希望有淡入效果可以在 .tab-pane 后添加 .fade类。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><h2>动态选项卡</h2><ul class="nav nav-tabs" id="myTabs" role="tablist"><li class="nav-item" role="presentation"><a class="nav-link active" id="home-tab" data-bs-toggle="tab" href="#home" role="tab"aria-controls="home" aria-selected="true">首页</a></li><li class="nav-item" role="presentation"><a class="nav-link" id="profile-tab" data-bs-toggle="tab" href="#profile" role="tab"aria-controls="profile" aria-selected="false">个人资料</a></li><li class="nav-item" role="presentation"><a class="nav-link" id="messages-tab" data-bs-toggle="tab" href="#messages" role="tab"aria-controls="messages" aria-selected="false">消息</a></li></ul><div class="tab-content" id="myTabContent"><div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab"><h1>这是首页内容</h1><!-- 这里放置首页的具体内容 --></div><div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab"><h1>这是个人资料内容</h1><!-- 这里放置个人资料的具体内容 --></div><div class="tab-pane fade" id="messages" role="tabpanel" aria-labelledby="messages-tab"><h1>这是消息内容</h1><!-- 这里放置消息的具体内容 --></div></div></div></body>
</html>

运行结果

胶囊状动态选项卡

只需将上面动态选项卡的实例的代码中 data-bs-toggle="tab"属性设置为 data-bs-toggle="pill"。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><h2>胶囊状动态选项卡</h2><ul class="nav nav-pills" id="myTabs" role="tablist"><li class="nav-item" role="presentation"><a class="nav-link active" id="home-tab" data-bs-toggle="pill" href="#home" role="tab"aria-controls="home" aria-selected="true">首页</a></li><li class="nav-item" role="presentation"><a class="nav-link" id="profile-tab" data-bs-toggle="pill" href="#profile" role="tab"aria-controls="profile" aria-selected="false">个人资料</a></li><li class="nav-item" role="presentation"><a class="nav-link" id="messages-tab" data-bs-toggle="pill" href="#messages" role="tab"aria-controls="messages" aria-selected="false">消息</a></li></ul><div class="tab-content" id="myTabContent"><div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab"><h1>这是首页内容</h1><!-- 这里放置首页的具体内容 --></div><div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab"><h1>这是个人资料内容</h1><!-- 这里放置个人资料的具体内容 --></div><div class="tab-pane fade" id="messages" role="tabpanel" aria-labelledby="messages-tab"><h1>这是消息内容</h1><!-- 这里放置消息的具体内容 --></div></div></div></body>
</html>

运行结果

等宽的选项卡/胶囊的下拉菜单

要创建等宽的选项卡/胶囊的下拉菜单,可以使用.nav-justified类对齐标签/胶囊。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><h1>等宽的选项卡/胶囊的下拉菜单</h1><h2>胶囊导航带下拉菜单</h2><ul class="nav nav-pills nav-justified"><li class="nav-item"><a class="nav-link active" href="#">首页</a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#">个人资料</a><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></li><li class="nav-item"><a class="nav-link" href="#">消息</a></li><li class="nav-item"><a class="nav-link disabled" href="#">禁用</a></li></ul><br /><h2>选项卡下拉菜单</h2><ul class="nav nav-tabs nav-justified"><li class="nav-item"><a class="nav-link active" href="#">首页</a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#">个人资料</a><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></li><li class="nav-item"><a class="nav-link" href="#">消息</a></li><li class="nav-item"><a class="nav-link disabled" href="#">禁用</a></li></ul></div></body>
</html>

运行结果

导航栏

基础的导航栏

通过使用Bootstrap,可以创建一个可以根据屏幕大小扩展或折叠的导航栏。要创建标准导航栏,请使用.navbar类,然后使用.navbar-expand-xxl|xl|lg|md|sm(在特大、超大、大、中型设备上水平排列,或小屏幕上垂直堆叠导航栏)类来指定在不同设备上的排列方式。要添加链接,请使用带有.navbar-nav类的<ul>元素(或<div>),并添加带有.nav-item类的<li>元素和带有.nav-link类的<a>元素。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><h2>基础的导航栏</h2><nav class="navbar navbar-expand-md navbar-light bg-light"><div class="container-fluid"><a class="navbar-brand" href="#">Logo</a><button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div class="collapse navbar-collapse" id="navbarNav"><ul class="navbar-nav"><li class="nav-item"><a class="nav-link active" aria-current="page" href="#">Home</a></li><li class="nav-item"><a class="nav-link" href="#">About</a></li><li class="nav-item"><a class="nav-link" href="#">Contact</a></li></ul></div></div></nav></div></body>
</html>

运行结果

垂直导航栏

通过删除 .navbar-expand-xxl|xl|lg|md|sm 类来创建垂直导航栏。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><h2>垂直导航栏</h2><nav class="navbar navbar-light bg-light"><div class="container-fluid"><a class="navbar-brand" href="#">Logo</a><button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div class="collapse navbar-collapse" id="navbarNav"><ul class="navbar-nav"><li class="nav-item"><a class="nav-link active" aria-current="page" href="#">Home</a></li><li class="nav-item"><a class="nav-link" href="#">About</a></li><li class="nav-item"><a class="nav-link" href="#">Contact</a></li></ul></div></div></nav></div></body>
</html>

运行结果

居中对齐的导航栏

如果想要将导航栏的内容居中,可以使用 Bootstrap 的 .justify-content-center 类。这个类可以将 flexbox 容器中的项目在水平方向上居中。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><h2>居中的导航栏</h2><ul class="nav nav-pills justify-content-center" id="myTabs" role="tablist"><li class="nav-item" role="presentation"><a class="nav-link active" id="home-tab" data-bs-toggle="pill" href="#home" role="tab"aria-controls="home" aria-selected="true">首页</a></li><li class="nav-item" role="presentation"><a class="nav-link" id="profile-tab" data-bs-toggle="pill" href="#profile" role="tab"aria-controls="profile" aria-selected="false">个人资料</a></li><li class="nav-item" role="presentation"><a class="nav-link" id="messages-tab" data-bs-toggle="pill" href="#messages" role="tab"aria-controls="messages" aria-selected="false">消息</a></li></ul></div></body>
</html>

运行结果

不同颜色导航栏

使用任何 .bg-color 类来更改导航栏的背景颜色:.bg-primary, .bg-success, .bg-info, .bg-warning, .bg-danger, .bg-secondary, .bg-dark和.bg-light。

如果你选择暗色背景,记得给.navbar元素添加.navbar-dark类,并为文本设置浅色。同样地,如果你选择浅色背景,给.navbar元素添加.navbar-light类,并为文本设置深色。这样可以确保背景和文本颜色之间有足够的对比度。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><h1>不同颜色导航栏</h1><nav class="navbar navbar-expand-sm bg-light navbar-light"><ul class="navbar-nav"><li class="nav-item active"><a class="nav-link" 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></nav><nav class="navbar navbar-expand-sm bg-dark navbar-dark"><ul class="navbar-nav"><li class="nav-item active"><a class="nav-link" 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></nav><nav class="navbar navbar-expand-sm bg-primary navbar-dark"><ul class="navbar-nav"><li class="nav-item active"><a class="nav-link" 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></nav><nav class="navbar navbar-expand-sm bg-success navbar-dark"><ul class="navbar-nav"><li class="nav-item active"><a class="nav-link" 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></nav><nav class="navbar navbar-expand-sm bg-info navbar-dark"><ul class="navbar-nav"><li class="nav-item active"><a class="nav-link" 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></nav><nav class="navbar navbar-expand-sm bg-warning navbar-dark"><ul class="navbar-nav"><li class="nav-item active"><a class="nav-link" 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></nav><nav class="navbar navbar-expand-sm bg-danger navbar-dark"><ul class="navbar-nav"><li class="nav-item active"><a class="nav-link" 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></nav><nav class="navbar navbar-expand-sm bg-secondary navbar-dark"><ul class="navbar-nav"><li class="nav-item active"><a class="nav-link" 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></nav></div></body>
</html>

运行结果

可以使用.navbar-brand类来设置显示品牌/Logo的导航栏。这个类会为品牌/Logo添加一些样式,以确保它在导航栏中适当地显示。你可以将品牌/Logo作为图片或文本。注意:在 Bootstrap 中,品牌标识通常放置在导航栏的左侧,并作为第一个子元素。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><nav class="navbar navbar-expand-lg navbar-dark bg-dark"><a class="navbar-brand" href="#"><img src="img/1.png" alt="品牌/Logo" height="30"></a><button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div class="collapse navbar-collapse" id="navbarNav"><ul class="navbar-nav"><li class="nav-item active"><a class="nav-link" href="#home">首页</a></li><li class="nav-item"><a class="nav-link" href="#about">关于</a></li><li class="nav-item"><a class="nav-link" href="#services">服务</a></li><li class="nav-item"><a class="nav-link" href="#contact">联系我们</a></li></ul></div></nav></div></body>
</html>

运行结果

折叠导航栏

折叠导航栏可以通过以下步骤来创建:

  1. 在导航栏中添加一个按钮,并给它添加.navbar-toggler类,这将使其成为切换按钮。
  2. 在切换按钮上添加data-bs-toggle="collapse"属性,以指定它用于切换可折叠区域的功能。
  3. 在切换按钮上添加data-bs-target="#thetarget"属性,其中#thetarget是一个目标元素的ID,它需要与下一步中的可折叠区域的ID匹配。
  4. 包裹导航内容(链接)的外部<div>元素上添加.collapse navbar-collapse类,以指定它是可折叠的导航内容。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><nav class="navbar navbar-expand-lg navbar-dark bg-primary"><a class="navbar-brand" href="#">Logo</a><button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div class="collapse navbar-collapse" id="navbarNav"><ul class="navbar-nav"><li class="nav-item active"><a class="nav-link" href="#home">首页</a></li><li class="nav-item"><a class="nav-link" href="#about">关于</a></li><li class="nav-item"><a class="nav-link" href="#services">服务</a></li><li class="nav-item"><a class="nav-link" href="#contact">联系我们</a></li></ul></div></nav></div></body>
</html>

这个示例代码中,按钮具有.navbar-toggler类,并通过data-bs-toggle和data-bs-target属性实现了折叠功能。导航内容包裹在一个具有.collapse navbar-collapse类的<div>元素中。保存并在浏览器中打开该HTML文件,你将看到具有可折叠导航栏的效果。在小屏幕上,点击按钮可以展开或收起导航选项。

运行结果

下拉菜单导航栏

要在导航栏中使用下拉菜单,可以按照以下步骤进行操作:

  1. 在导航栏中的目标链接上添加一个具有.dropdown类的父级元素,这将创建一个下拉菜单。
  2. 在这个父级元素下创建一个带有.dropdown-menu类的<div>元素,用于容纳下拉菜单的选项。
  3. 在父级元素上添加一个带有data-bs-toggle属性并设置为dropdown的按钮或链接,以指定它触发下拉菜单。
  4. 如果需要,可以在下拉菜单选项中添加分隔线或其他附加元素。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><nav class="navbar navbar-expand-lg navbar-dark bg-primary"><a class="navbar-brand" href="#">Logo</a><button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div class="collapse navbar-collapse" id="navbarNav"><ul class="navbar-nav"><li class="nav-item active"><a class="nav-link" href="#home">首页</a></li><li class="nav-item"><a class="nav-link" href="#about">关于</a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button"data-bs-toggle="dropdown" aria-expanded="false">下拉菜单</a><ul class="dropdown-menu" aria-labelledby="navbarDropdown"><li><a class="dropdown-item" href="#item1">项目1</a></li><li><a class="dropdown-item" href="#item2">项目2</a></li><li><hr class="dropdown-divider"></li><li><a class="dropdown-item" href="#item3">项目3</a></li></ul></li><li class="nav-item"><a class="nav-link" href="#contact">联系我们</a></li></ul></div></nav></div></body>
</html>

在这个示例代码中,.dropdown类被应用于具有下拉菜单的导航选项。通过添加.dropdown-menu类的<ul>元素来创建下拉菜单的选项。下拉菜单通过具有data-bs-toggle属性并设置为dropdown的链接来触发。保存并在浏览器中打开该HTML文件,你将看到具有下拉菜单的导航栏。当你点击下拉菜单选项时,相应的操作将被触发。

运行结果

导航栏菜单和按钮

要在导航栏中添加表单和按钮,可以按照以下步骤进行操作:

  1. 在导航栏中的适当位置添加一个包含表单元素的 <form> 标签,并为其添加 .form-inline 类,以实现水平排列的输入框和按钮。
  2. 在 <form> 标签内部添加输入框和按钮。可以使用 <input> 元素创建文本框,通过设置 type="text" 来指定输入框的类型。另外,通过 <button> 元素或 <input> 元素创建按钮。
  3. 可以通过添加其他 HTML 元素或类来自定义表单和按钮的样式和功能。例如,可以添加标签、图标或其他类名来修饰并扩展表单和按钮的外观和行为。

注意:也可以使用其他的输入框类,如 .input-group-addon 类用于在输入框前添加小标签。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><!-- 导航栏 --><nav class="navbar navbar-expand-lg navbar-light bg-light"><div class="container-fluid"><a class="navbar-brand" href="#">品牌</a><button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div class="collapse navbar-collapse" id="navbarNav"><ul class="navbar-nav me-auto mb-2 mb-lg-0"><li class="nav-item"><a class="nav-link active" aria-current="page" href="#">首页</a></li><li class="nav-item"><a class="nav-link" href="#">链接</a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button"data-bs-toggle="dropdown" aria-expanded="false">下拉菜单</a><ul class="dropdown-menu" aria-labelledby="navbarDropdown"><li><a class="dropdown-item" href="#">操作</a></li><li><a class="dropdown-item" href="#">另一个操作</a></li><li><hr class="dropdown-divider"></li><li><a class="dropdown-item" href="#">其他内容</a></li></ul></li><li class="nav-item"><a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">禁用</a></li></ul><!-- 导航栏表单 --><form class="d-flex"><span class="input-group-text" id="basic-addon1">@</span><input class="form-control me-2" type="search" placeholder="Search" aria-label="Search"><button class="btn btn-outline-success" type="submit">Search</button></form></div></div></nav></div></body>
</html>

运行结果

导航栏文本

在 Bootstrap 5 中,可以使用 .navbar-text 类来设置导航栏中的非链接文本。这个类可以应用于 <span> 或 <p> 等元素上,以确保文本在水平方向上对齐,并与导航栏中其他元素具有相同的颜色和内边距。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><nav class="navbar navbar-expand-lg navbar-light bg-light"><div class="container-fluid"><a class="navbar-brand" href="#">品牌</a><button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div class="collapse navbar-collapse" id="navbarNav"><ul class="navbar-nav me-auto mb-2 mb-lg-0"><li class="nav-item"><a class="nav-link active" aria-current="page" href="#">首页</a></li><li class="nav-item"><a class="nav-link" href="#">链接</a></li></ul><!-- 导航栏文本 --><span class="navbar-text">欢迎登录</span></div></div></nav></div></body>
</html>

运行结果

固定导航栏

在 Bootstrap 5 中,可以使用以下类来实现固定导航栏:

  • 要将导航栏固定在页面的顶部,可以使用.fixed-top类。例如:
    <nav class="navbar fixed-top navbar-light bg-light"><!-- 导航栏内容 -->
    </nav>
    

        这样导航栏就会固定在页面的顶部。

  • 要将导航栏固定在页面的底部,可以使用.fixed-bottom类。例如:
    <nav class="navbar fixed-bottom navbar-light bg-light"><!-- 导航栏内容 -->
    </nav>
    
    这样导航栏就会固定在页面的底部。
  • 如果想要导航栏在滚动经过它时固定在页面的顶部(sticky效果),可以使用.sticky-top类。例如:
    <nav class="navbar sticky-top navbar-light bg-light"><!-- 导航栏内容 -->
    </nav>
    
    这样导航栏会在滚动经过它时固定在页面的顶部。

需要注意的是,.sticky-top类在 IE11 及更早版本中不起作用,IE11 将其视为position:relative。但在现代浏览器中,这个类应该能够实现预期的效果。

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script></head><body style="height:1500px"><div class="container mt-3"><nav class="navbar fixed-top navbar-expand-lg navbar-light bg-light"><div class="container"><a class="navbar-brand" href="#">固定顶部导航栏</a></div></nav><br><div class="container-fluid" style="margin-top:80px"><p>一些示例文本。一些示例文本。一些示例文本。一些示例文本。一些示例文本。一些示例文本。一些示例文本。一些示例文本。</p><p>一些示例文本。一些示例文本。一些示例文本。一些示例文本。一些示例文本。一些示例文本。一些示例文本。一些示例文本。</p><p>一些示例文本。一些示例文本。一些示例文本。一些示例文本。一些示例文本。一些示例文本。一些示例文本。一些示例文本。</p><p>一些示例文本。一些示例文本。一些示例文本。一些示例文本。一些示例文本。一些示例文本。一些示例文本。一些示例文本。</p></div><nav class="navbar fixed-bottom navbar-expand-lg navbar-light bg-light"><div class="container"><a class="navbar-brand" href="#">固定底部导航栏</a></div></nav></div></body>
</html>

运行结果

导航栏案例

实例

<!DOCTYPE html>
<html><head><title>Bootstrap5 实例</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.2/dist/js/bootstrap.bundle.min.js"></script><style>.search-form {display: flex;align-items: center;}.search-input {width: 200px;margin-right: 10px;}</style></head><body><div class="container mt-3"><!-- 导航栏 --><nav class="navbar navbar-expand-lg navbar-light bg-light"><div class="container-fluid"><a class="navbar-brand" href="#">品牌</a><button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div class="collapse navbar-collapse" id="navbarNav"><ul class="navbar-nav me-auto mb-2 mb-lg-0"><li class="nav-item"><a class="nav-link active" aria-current="page" href="#">首页</a></li><li class="nav-item"><a class="nav-link" href="#">关于</a></li><li class="nav-item"><a class="nav-link" href="#">服务</a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button"data-bs-toggle="dropdown" aria-expanded="false">子产品</a><ul class="dropdown-menu" aria-labelledby="navbarDropdown"><li><a class="dropdown-item" href="#">子产品1</a></li><li><a class="dropdown-item" href="#">子产品2</a></li><li><hr class="dropdown-divider"></li><li><a class="dropdown-item" href="#">子产品3</a></li></ul></li><li class="nav-item"><a class="nav-link" href="#" tabindex="-1" aria-disabled="true">联系我们</a></li></ul><!-- 导航栏表单 --><form class="d-flex search-form"><input id="search-input" class="form-control search-input" type="search"placeholder="Search" aria-label="Search"><button id="search-btn" class="btn btn-primary" type="button">搜索</button></form></div></div></nav></div><script>// 获取搜索框和按钮元素var searchInput = document.getElementById('search-input');var searchBtn = document.getElementById('search-btn');// 点击搜索按钮时触发跳转到百度搜索结果页searchBtn.addEventListener('click', function() {var searchText = searchInput.value;if (searchText.trim() !== '') {var url = 'https://www.baidu.com/s?wd=' + encodeURIComponent(searchText);window.location.href = url;}});</script></body>
</html>

运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/108562.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多元函数的偏导数

目录 偏导数的定义 二元函数偏导数的几何意义 高阶偏导数 全微分 偏导数的定义 偏导数是一种特殊的数学概念&#xff0c;它是针对一个多变量的函数在某个自变量上的导数。 具体来说&#xff0c;对于一个有多个自变量的函数yf(x0, x1, xj, ..., xn)&#xff0c;在自变量xk固…

使用Git把项目上传到Gitee的详细步骤

1.到Git官网下载并安装 2.到Gitee官网进行注册&#xff0c;然后在Gitee中新建一个远程仓库 3.设置远程仓库的参数 4.返回Gitee查看仓库是否生成成功 5.新建一个文件夹作为你的本地仓库 6.将新建好的文件夹初始化成本地仓库 第一步&#xff1a;右键点击刚创建的本地仓库&#…

软件流程图怎么画?详细画法看这里

软件流程图怎么画&#xff1f;软件流程图是软件开发过程中必不可少的一环&#xff0c;可以帮助开发人员更好地理解和规划软件开发的流程。在制作软件流程图的时候&#xff0c;我们可以使用一些制作工具。下面就给大家介绍一款好用的绘制工具。 我们可以使用【迅捷画图】来进行流…

Element Plus table formatter函数返回html内容

查看 Element Plus table formatter 支持返回 类型为string 和 VNode对象&#xff1b; 若依全局直接用h函数&#xff0c;无需引用 下面普通基本用法&#xff1a;在Element Plus中&#xff0c;你可以使用自定义的formatter函数来返回VNode对象&#xff0c;从而实现更灵活的自定…

Unity 课时 4 : No.4 模拟面试题

课时 4 : No.4 模拟面试题 C# 1. 请说明字符串中 string str null string str “” string str string.Empty 三者的区别 第一个未作初始化没有值, 第二个为空字符串, 答案&#xff1a; str null 在堆中没有分配内存地址 str "" 和 string.Empty 一样都是…

FPGA计数器边界问题解析

FPGA计数器边界问题解析 一次作者在处理AMBE2000数据接收过程中&#xff0c;遇到一个问题&#xff0c;对该计数器边界总是模糊不清。现在予以说明&#xff0c;以警示以后工作时书写错误代码。 AMBE2000数据一旦准备好后&#xff0c;一次会输出24个字&#xff0c;其中第1个字0x…

怎样做一个简易而温馨的原木风居室空间

由 balbek bureau 设计的 Relogged 是一座重新设计的私人住宅&#xff0c;位于乌克兰河岸的绿化区。顾名思义&#xff0c;该项目重新诠释了木屋的概念&#xff0c;并与充满自然气息的环境相呼应&#xff0c;营造出宁静舒适的生活氛围。在探索重新设计的木屋实例时&#xff0c;建…

TypeScript——泛型理论与实践

1. 简介 软件工程的一个重要部分就是构建组件&#xff0c;组件不仅需要有定义良好和一致的 API&#xff0c;还需要是可复用的。好的组件不仅能够兼容现有的数据类型&#xff0c;也能适用于未来可能出现的数据类型&#xff0c;这在构建大型软件系统时会有很大的灵活度以及很高的…

Appium混合页面点击方法tap的使用

原生应用开发&#xff0c;是在Android、IOS等移动平台上利用官方提供的开发语言、开发类库、开发工具进行App开发&#xff1b;HTML5&#xff08;h5&#xff09;应用开发&#xff0c;是利用Web技术进行的App开发。目前&#xff0c;市面上很多app都是原生和h5混合开发&#xff0c…

ChatGPT帮助一名儿童确诊病因,之前17位医生无法确诊

9月13日&#xff0c;Today消息&#xff0c;一位名叫Alex的4岁儿童得了一种浑身疼痛的怪病&#xff0c;每天需要服用Motrin&#xff08;美林&#xff09;才能止痛。3年的时间&#xff0c;看了17名医生无法确诊病因。&#xff08;新闻地址&#xff1a;https://www.today.com/heal…

拼多多面试题解析:Java实现继承的七种方式!

大家好&#xff0c;我是小米&#xff01;今天&#xff0c;我要和大家一起来深入探讨一下拼多多的面试题&#xff1a;Java 实现继承有哪 7 种方式&#xff1f;这是一个相当有深度的问题&#xff0c;不过别担心&#xff0c;我会尽力以通俗易懂的方式给大家讲解清楚&#xff0c;让…

c语言练习57:浮点数在内存中的存储

浮点数在内存中的存储 上⾯的代码中&#xff0c; num 和 *pFloat 在内存中明明是同⼀个数&#xff0c;为什么浮点数和整数的解读结果会差别 这么⼤&#xff1f; 要理解这个结果&#xff0c;⼀定要搞懂浮点数在计算机内部的表⽰⽅法。 根据国际标准IEEE&#xff08;电⽓和电⼦⼯…