加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
lyear_components_navs_tabs.html 54.98 KB
一键复制 编辑 原始数据 按行查看 历史
笔下光年 提交于 2022-11-01 21:00 . 提交代码
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812
<!DOCTYPE html>
<html lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimal-ui">
<meta name="keywords" content="LightYear,LightYearAdmin,光年,后台模板,后台管理系统,光年HTML模板">
<meta name="description" content="Light Year Admin V5是一个基于Bootstrap v5.1.3的后台管理系统的HTML模板。">
<title>导航 &amp; 标签页 - 光年(Light Year Admin V5)后台管理系统模板</title>
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-touch-fullscreen" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<link rel="stylesheet" type="text/css" href="css/materialdesignicons.min.css">
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/style.min.css">
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<div class="card">
<header class="card-header"><div class="card-title">导航 &amp; 标签页</div></header>
<div class="card-body">
<p>关于如何使用 Bootstrap 的文档和示例包括导航组件。</p>
<h5>基础导航</h5>
<p>Bootstrap 中可用的导航共享通用标记和样式,从基础 <code>.nav</code> 类到活动和禁用状态。 交换修饰符类以在每种样式之间切换。</p>
<p>基础 <code>.nav</code> 组件是使用 flexbox 构建的,为构建所有类型的导航组件提供了坚实的基础。 它包括一些样式覆盖(用于处理列表)、一些针对较大点击区域的链接填充以及基本的禁用样式。</p>
<div class="callout callout-info mb-3">
<p>基本 <code>.nav</code> 组件不包含任何 <code>.active</code> 状态。 下面的例子包括了这个类,主要是为了说明这个特定的类不会触发任何特殊的样式。</p>
<p>要将活动状态传达给辅助技术,请使用 <code>aria-current</code> 属性 — 对当前页面使用 <code>page</code> 值,或对当前页面使用 <code>true</code> 一组中的项目。</p>
</div>
<div class="border-example">
<ul class="nav">
<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">
<a class="nav-link disabled">禁用的</a>
</li>
</ul>
</div>
<pre>&lt;ul class="nav"&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link active" aria-current="page" href="#"&gt;选中的&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link disabled"&gt;禁用的&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</pre>
<p>类贯穿始终,因此您的标记可以非常灵活。 像上面一样使用 <code>&lt;ul&gt;</code>,如果您的项目顺序很重要,请使用 <code>&lt;ol&gt;</code>,或者使用 <code>&lt;nav&gt;</code> 元素。 因为 <code>.nav</code> 使用 <code>display: flex</code>,所以导航链接的行为与导航项目相同,但没有额外的标记。</p>
<div class="border-example">
<nav class="nav">
<a class="nav-link active" aria-current="page" href="#">选中的</a>
<a class="nav-link" href="#">链接</a>
<a class="nav-link" href="#">链接</a>
<a class="nav-link disabled">禁用的</a>
</nav>
</div>
<pre>&lt;nav class="nav"&gt;
&lt;a class="nav-link active" aria-current="page" href="#"&gt;选中的&lt;/a&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;a class="nav-link disabled"&gt;禁用的&lt;/a&gt;
&lt;/nav&gt;</pre>
<h5>可用样式</h5>
<p>使用修饰符和实用程序更改 <code>.nav</code> 组件的样式。 根据需要混合和匹配,或构建自己的。</p>
<h6>水平对齐</h6>
<p>使用flexbox 实用程序更改导航的水平对齐方式。 默认情况下,导航是左对齐的,但您可以轻松地将它们更改为居中或右对齐。</p>
<p><code>.justify-content-center</code> 为中心:</p>
<div class="border-example">
<ul class="nav justify-content-center">
<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">
<a class="nav-link disabled">禁用的</a>
</li>
</ul>
</div>
<pre>&lt;ul class="nav justify-content-center"&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link active" aria-current="page" href="#"&gt;选中的&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link disabled"&gt;禁用的&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</pre>
<p><code>.justify-content-end</code> 右对齐:</p>
<div class="border-example">
<ul class="nav justify-content-end">
<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">
<a class="nav-link disabled">禁用的</a>
</li>
</ul>
</div>
<pre>&lt;ul class="nav justify-content-end"&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link active" aria-current="page" href="#"&gt;选中的&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link disabled"&gt;禁用的&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</pre>
<h6>Vertical</h6>
<p>通过使用 <code>.flex-column</code> 实用程序更改弹性项目方向来堆叠导航。 需要将它们堆叠在某些视口上而不是其他视口上? 使用响应式版本(例如,<code>.flex-sm-column</code>)。</p>
<div class="border-example">
<ul class="nav flex-column">
<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">
<a class="nav-link disabled">禁用的</a>
</li>
</ul>
</div>
<pre>&lt;ul class="nav flex-column"&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link active" aria-current="page" href="#"&gt;选中的&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link disabled"&gt;禁用的&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</pre>
<p>与往常一样,垂直导航也可以在没有 <code>&lt;ul&gt;</code> 的情况下进行。</p>
<div class="border-example">
<nav class="nav flex-column">
<a class="nav-link active" aria-current="page" href="#">选中的</a>
<a class="nav-link" href="#">链接</a>
<a class="nav-link" href="#">链接</a>
<a class="nav-link disabled">禁用的</a>
</nav>
</div>
<pre>&lt;nav class="nav flex-column"&gt;
&lt;a class="nav-link active" aria-current="page" href="#"&gt;选中的&lt;/a&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;a class="nav-link disabled"&gt;禁用的&lt;/a&gt;
&lt;/nav&gt;</pre>
<h6>选项卡</h6>
<p>从上面获取基本导航并添加 <code>.nav-tabs</code> 类以生成选项卡式界面。 通过我们的 <a href="#javascript-behavior">tab JavaScript 插件</a>,使用它们创建可选项卡区域。</p>
<div class="border-example">
<ul class="nav nav-tabs">
<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">
<a class="nav-link disabled">禁用的</a>
</li>
</ul>
</div>
<pre>&lt;ul class="nav nav-tabs"&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link active" aria-current="page" href="#"&gt;选中的&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link disabled"&gt;禁用的&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</pre>
<h6>胶囊形式</h6>
<p>采用相同的 HTML,但使用 <code>.nav-pills</code> 代替:</p>
<div class="border-example">
<ul class="nav nav-pills">
<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">
<a class="nav-link disabled">禁用的</a>
</li>
</ul>
</div>
<pre>&lt;ul class="nav nav-pills"&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link active" aria-current="page" href="#"&gt;选中的&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link disabled"&gt;禁用的&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</pre>
<h6>使...排满并对齐</h6>
<p>强制您的 <code>.nav</code>&rsquo;s 内容扩展两个修饰符类之一的完整可用宽度。 要使用 <code>.nav-item</code> 按比例填充所有可用空间,请使用 <code>.nav-fill</code>。 请注意,所有水平空间都被占用,但并非每个导航项都具有相同的宽度。</p>
<div class="border-example">
<ul class="nav nav-pills nav-fill">
<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">
<a class="nav-link disabled">禁用的</a>
</li>
</ul>
</div>
<pre>&lt;ul class="nav nav-pills nav-fill"&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link active" aria-current="page" href="#"&gt;选中的&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;更长的导航链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link disabled"&gt;禁用的&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</pre>
<p>当使用基于 <code>&lt;nav&gt;</code> 的导航时,您可以安全地省略 <code>.nav-item</code>,因为样式只需要 <code>.nav-link</code> <code>&lt;a&gt;</code> 元素。</p>
<div class="border-example">
<nav class="nav nav-pills nav-fill">
<a class="nav-link active" aria-current="page" href="#">选中的</a>
<a class="nav-link" href="#">更长的导航链接</a>
<a class="nav-link" href="#">链接</a>
<a class="nav-link disabled">禁用的</a>
</nav>
</div>
<pre>&lt;nav class="nav nav-pills nav-fill"&gt;
&lt;a class="nav-link active" aria-current="page" href="#"&gt;选中的&lt;/a&gt;
&lt;a class="nav-link" href="#"&gt;更长的导航链接&lt;/a&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;a class="nav-link disabled"&gt;禁用的&lt;/a&gt;
&lt;/nav&gt;</pre>
<p>对于等宽元素,请使用 <code>.nav-justified</code>。 所有水平空间都将被导航链接占用,但与上面的 <code>.nav-fill</code> 不同,每个导航项的宽度都相同。</p>
<div class="border-example">
<ul class="nav nav-pills nav-justified">
<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">
<a class="nav-link disabled">禁用的</a>
</li>
</ul>
</div>
<pre>&lt;ul class="nav nav-pills nav-justified"&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link active" aria-current="page" href="#"&gt;选中的&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;更长的导航链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link disabled"&gt;禁用的&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</pre>
<p>类似于使用基于 <code>&lt;nav&gt;</code> 的导航的 <code>.nav-fill</code> 示例。</p>
<div class="border-example">
<nav class="nav nav-pills nav-justified">
<a class="nav-link active" aria-current="page" href="#">选中的</a>
<a class="nav-link" href="#">更长的导航链接</a>
<a class="nav-link" href="#">链接</a>
<a class="nav-link disabled">禁用的</a>
</nav>
</div>
<pre>&lt;nav class="nav nav-pills nav-justified"&gt;
&lt;a class="nav-link active" aria-current="page" href="#"&gt;选中的&lt;/a&gt;
&lt;a class="nav-link" href="#"&gt;更长的导航链接&lt;/a&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;a class="nav-link disabled"&gt;禁用的&lt;/a&gt;
&lt;/nav&gt;</pre>
<h5>使用 flex 实用程序</h5>
<p>如果您需要响应式导航变体,请考虑使用一系列flexbox 实用程序。 虽然更冗长,但这些实用程序提供了跨响应断点的更大定制。在下面的示例中,我们的导航将堆叠在最低断点上,然后适应水平布局,从小断点开始填充可用宽度。</p>
<div class="border-example">
<nav class="nav nav-pills flex-column flex-sm-row">
<a class="flex-sm-fill text-sm-center nav-link active" aria-current="page" href="#">选中的</a>
<a class="flex-sm-fill text-sm-center nav-link" href="#">更长的导航链接</a>
<a class="flex-sm-fill text-sm-center nav-link" href="#">链接</a>
<a class="flex-sm-fill text-sm-center nav-link disabled">禁用的</a>
</nav>
</div>
<pre>&lt;nav class="nav nav-pills flex-column flex-sm-row"&gt;
&lt;a class="flex-sm-fill text-sm-center nav-link active" aria-current="page" href="#"&gt;选中的&lt;/a&gt;
&lt;a class="flex-sm-fill text-sm-center nav-link" href="#"&gt;更长的导航链接&lt;/a&gt;
&lt;a class="flex-sm-fill text-sm-center nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;a class="flex-sm-fill text-sm-center nav-link disabled"&gt;禁用的&lt;/a&gt;
&lt;/nav&gt;</pre>
<h5>关于可访问性</h5>
<p>如果您正在使用 navs 提供导航栏,请务必将 <code>role="navigation"</code> 添加到 <code>&lt;ul&gt;</code> 最符合逻辑的父容器中, 或者在整个导航周围包裹一个 <code>&lt;nav&gt;</code> 元素。 不要将角色添加到 <code>&lt;ul&gt;</code> 本身,因为这会阻止它被辅助技术宣布为实际列表。</p>
<p>请注意,导航栏,即使在视觉上被设计为带有 <code>.nav-tabs</code> 类的选项卡,也应该<strong></strong>被赋予 <code>role=&quot;tablist&quot;</code><code>role="tabpanel"</code><code>role="tabpanel"</code> 属性。 这些仅适用于动态选项卡式界面,如 <a href="https://www.w3.org/TR/wai-aria-practices/#tabpanel" target="_blank"><abbr title="无障碍网页倡议"> 中所述 WAI</abbr> <abbr title="可访问的富 Internet 应用程序">ARIA</abbr> 创作实践</a>。 有关示例,请参阅本节中的JavaScript 行为了解动态选项卡式界面。 <code>aria-current</code> 属性在动态选项卡式界面上不是必需的,因为我们的 JavaScript 通过在活动选项卡上添加 <code>aria-selected="true"</code> 来处理选定状态。</p>
<h5>使用下拉菜单</h5>
<p>添加带有一点额外 HTML 和 dropdowns JavaScript 插件的下拉菜单。</p>
<h6>带有下拉菜单的选项卡</h6>
<div class="border-example">
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">选中的</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-expanded="false">Beyond</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">长城</a></li>
<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" href="#">链接</a>
</li>
<li class="nav-item">
<a class="nav-link disabled">禁用的</a>
</li>
</ul>
</div>
<pre>&lt;ul class="nav nav-tabs"&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link active" aria-current="page" href="#"&gt;选中的&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item dropdown"&gt;
&lt;a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-expanded="false"&gt;Beyond&lt;/a&gt;
&lt;ul class="dropdown-menu"&gt;
&lt;li&gt;&lt;a class="dropdown-item" href="#"&gt;长城&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="dropdown-item" href="#"&gt;光辉岁月&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="dropdown-item" href="#"&gt;喜欢你&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;hr class="dropdown-divider"&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="dropdown-item" href="#"&gt;谁伴我闯荡&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link disabled"&gt;禁用的&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</pre>
<h6>带有下拉菜单的胶囊样式</h6>
<div class="border-example">
<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">选中的</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-expanded="false">Beyond</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">长城</a></li>
<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" href="#">链接</a>
</li>
<li class="nav-item">
<a class="nav-link disabled">禁用的</a>
</li>
</ul>
</div>
<pre>&lt;ul class="nav nav-pills"&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link active" aria-current="page" href="#"&gt;选中的&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item dropdown"&gt;
&lt;a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-expanded="false"&gt;Beyond&lt;/a&gt;
&lt;ul class="dropdown-menu"&gt;
&lt;li&gt;&lt;a class="dropdown-item" href="#"&gt;长城&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="dropdown-item" href="#"&gt;光辉岁月&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="dropdown-item" href="#"&gt;喜欢你&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;hr class="dropdown-divider"&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="dropdown-item" href="#"&gt;谁伴我闯荡&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link" href="#"&gt;链接&lt;/a&gt;
&lt;/li&gt;
&lt;li class="nav-item"&gt;
&lt;a class="nav-link disabled"&gt;禁用的&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</pre>
<h5>JavaScript 行为</h5>
<p>使用标签 JavaScript 插件(单独包含它或通过编译的 <code>bootstrap.js</code> 文件包含它)来扩展我们的导航标签和药丸以创建本地内容的可标签窗格。</p>
<p>动态选项卡式界面,如 <a href="https://www.w3.org/TR/wai-aria-practices/#tabpanel" target="_blank"><abbr title="无障碍网页倡议">WAI</abbr> 中所述 <abbr title="可访问的富 Internet 应用程序">ARIA</abbr> 创作实践</a>,需要 <code>role=&quot;tablist&quot;</code><code>role=&quot;tab&quot;</code ><code>role="tabpanel"</code> 和其他 <code>aria-</code> 属性,以便将它们的结构、功能和当前状态传达给辅助技术(例如屏幕阅读器)的用户 . 作为最佳实践,我们建议对选项卡使用 <code>&lt;button&gt;</code> 元素,因为这些是触发动态更改的控件,而不是导航到新页面或新位置的链接。</p>
<div class="callout callout-danger mb-3">
请注意,标签 JavaScript 插件<strong>不支持</strong>包含下拉菜单的标签界面,因为这些会导致可用性和可访问性问题。 从可用性的角度来看,当前显示的选项卡的触发元素不是立即可见的(因为它位于关闭的下拉菜单中)这一事实可能会导致混淆。 从可访问性的角度来看,目前还没有明智的方法将这种结构映射到标准的 WAI ARIA 模式,这意味着辅助技术的用户不容易理解它。
</div>
<div class="border-example">
<ul class="nav nav-tabs mb-3" id="myTab" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true">首页</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile" type="button" role="tab" aria-controls="profile" aria-selected="false">个人简介</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="contact-tab" data-bs-toggle="tab" data-bs-target="#contact" type="button" role="tab" aria-controls="contact" aria-selected="false">联系我们</button>
</li>
</ul>
<div class="tab-content" id="myTabContent">
<div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
<p><strong>这是一些占位符内容,主页选项卡的相关内容。</strong>单击另一个选项卡将切换此选项卡的可见性以供下一个选项卡使用。 选项卡 JavaScript 交换类以控制内容可见性和样式。 您可以将它与标签、胶囊形式和任何其他 <code>.nav</code> 驱动的导航一起使用。</p>
</div>
<div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">
<p>《辽海丹忠录》是一部有插图的章回体通俗小说。有崇祯年间刊本藏于日本内阁文库,共八卷四十回,题“平原孤愤生戏草,铁崖热肠人偶评”。未完结。显然是由于后来战事的发展超乎了作者的预料。</p>
</div>
<div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab">
<p>赤雅,书名。明邝露撰。三卷。作者南海人,以迕邑令走粤西,为傜女云亸娘之客,因悉其山川风土仪物,撰为此书。半系亲身经历,半亦取自古人笔乘。中如“猺人祀典”、“祸斗”、“木客”、“短狐”等条,均有神话传说。</p>
</div>
</div>
</div>
<pre>&lt;ul class="nav nav-tabs mb-3" id="myTab" role="tablist"&gt;
&lt;li class="nav-item" role="presentation"&gt;
&lt;button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true"&gt;首页&lt;/button&gt;
&lt;/li&gt;
&lt;li class="nav-item" role="presentation"&gt;
&lt;button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile" type="button" role="tab" aria-controls="profile" aria-selected="false"&gt;个人简介&lt;/button&gt;
&lt;/li&gt;
&lt;li class="nav-item" role="presentation"&gt;
&lt;button class="nav-link" id="contact-tab" data-bs-toggle="tab" data-bs-target="#contact" type="button" role="tab" aria-controls="contact" aria-selected="false"&gt;联系我们&lt;/button&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="tab-content" id="myTabContent"&gt;
&lt;div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab"&gt;
&lt;p&gt;&lt;strong&gt;这是一些占位符内容,主页选项卡的相关内容。&lt;/strong&gt;单击另一个选项卡将切换此选项卡的可见性以供下一个选项卡使用。 选项卡 JavaScript 交换类以控制内容可见性和样式。 您可以将它与标签、胶囊形式和任何其他 &lt;code&gt;.nav&lt;/code&gt; 驱动的导航一起使用。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab"&gt;
&lt;p&gt;《辽海丹忠录》是一部有插图的章回体通俗小说。有崇祯年间刊本藏于日本内阁文库,共八卷四十回,题“平原孤愤生戏草,铁崖热肠人偶评”。未完结。显然是由于后来战事的发展超乎了作者的预料。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab"&gt;
&lt;p&gt;赤雅,书名。明邝露撰。三卷。作者南海人,以迕邑令走粤西,为傜女云亸娘之客,因悉其山川风土仪物,撰为此书。半系亲身经历,半亦取自古人笔乘。中如“猺人祀典”、“祸斗”、“木客”、“短狐”等条,均有神话传说。&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</pre>
<p>为了帮助满足您的需求,这适用于基于 <code>&lt;ul&gt;</code> 的标记,如上所示,或任何任意的“滚动你自己的”。 标记。 请注意,如果您正在使用 <code>&lt;nav&gt;</code>,则不应直接向其添加 <code>role="tablist"</code>,因为这会覆盖元素的原生 作为导航地标的作用。相反,切换到一个替代元素(在下面的示例中,一个简单的 <code>&lt;div&gt;</code>)并将 <code>&lt;nav&gt;</code> 包裹在它周围。</p>
<div class="border-example">
<nav>
<div class="nav nav-tabs mb-3" id="nav-tab" role="tablist">
<button class="nav-link active" id="nav-home-tab" data-bs-toggle="tab" data-bs-target="#nav-home" type="button" role="tab" aria-controls="nav-home" aria-selected="true">首页</button>
<button class="nav-link" id="nav-profile-tab" data-bs-toggle="tab" data-bs-target="#nav-profile" type="button" role="tab" aria-controls="nav-profile" aria-selected="false">个人简介</button>
<button class="nav-link" id="nav-contact-tab" data-bs-toggle="tab" data-bs-target="#nav-contact" type="button" role="tab" aria-controls="nav-contact" aria-selected="false">联系我们</button>
</div>
</nav>
<div class="tab-content" id="nav-tabContent">
<div class="tab-pane fade show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab">
<p>作者谈迁是我国17世纪的爱国历史家,《北游录》是记述他1653年到1656年去北京期间的经历见闻,和他写的一些诗文。</p>
</div>
<div class="tab-pane fade" id="nav-profile" role="tabpanel" aria-labelledby="nav-profile-tab">
<p>《飞龙全传》是清代吴璿根据旧本《飞龙传》增补改编的长篇英雄传奇小说,共六十回。飞龙:借指皇帝,喻其居高位而临天下,如飞龙在天。</p>
</div>
<div class="tab-pane fade" id="nav-contact" role="tabpanel" aria-labelledby="nav-contact-tab">
<p>《银钩赌坊》描述的是西方魔教玉罗刹教主之子玉天宝被杀,银钩赌坊主人蓝胡子栽赃陆小凤。</p>
</div>
</div>
</div>
<pre>&lt;nav&gt;
&lt;div class="nav nav-tabs mb-3" id="nav-tab" role="tablist"&gt;
&lt;button class="nav-link active" id="nav-home-tab" data-bs-toggle="tab" data-bs-target="#nav-home" type="button" role="tab" aria-controls="nav-home" aria-selected="true"&gt;首页&lt;/button&gt;
&lt;button class="nav-link" id="nav-profile-tab" data-bs-toggle="tab" data-bs-target="#nav-profile" type="button" role="tab" aria-controls="nav-profile" aria-selected="false"&gt;个人简介&lt;/button&gt;
&lt;button class="nav-link" id="nav-contact-tab" data-bs-toggle="tab" data-bs-target="#nav-contact" type="button" role="tab" aria-controls="nav-contact" aria-selected="false"&gt;联系我们&lt;/button&gt;
&lt;/div&gt;
&lt;/nav&gt;
&lt;div class="tab-content" id="nav-tabContent"&gt;
&lt;div class="tab-pane fade show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab"&gt;
&lt;p&gt;作者谈迁是我国17世纪的爱国历史家,《北游录》是记述他1653年到1656年去北京期间的经历见闻,和他写的一些诗文。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="tab-pane fade" id="nav-profile" role="tabpanel" aria-labelledby="nav-profile-tab"&gt;
&lt;p&gt;《飞龙全传》是清代吴璿根据旧本《飞龙传》增补改编的长篇英雄传奇小说,共六十回。飞龙:借指皇帝,喻其居高位而临天下,如飞龙在天。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="tab-pane fade" id="nav-contact" role="tabpanel" aria-labelledby="nav-contact-tab"&gt;
&lt;p&gt;《银钩赌坊》描述的是西方魔教玉罗刹教主之子玉天宝被杀,银钩赌坊主人蓝胡子栽赃陆小凤。&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</pre>
<p>选项卡插件也适用于胶囊形式。</p>
<div class="border-example">
<ul class="nav nav-pills mb-3" id="pills-tab" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="pills-home-tab" data-bs-toggle="pill" data-bs-target="#pills-home" type="button" role="tab" aria-controls="pills-home" aria-selected="true">首页</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="pills-profile-tab" data-bs-toggle="pill" data-bs-target="#pills-profile" type="button" role="tab" aria-controls="pills-profile" aria-selected="false">个人简介</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="pills-contact-tab" data-bs-toggle="pill" data-bs-target="#pills-contact" type="button" role="tab" aria-controls="pills-contact" aria-selected="false">联系我们</button>
</li>
</ul>
<div class="tab-content" id="pills-tabContent">
<div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">
<p>从来国家吉凶祸福,虽系天命,多因人事;既有定数,必有预兆。于此若能恐惧修省,便可转灾为祥。所谓妖由人兴,亦由人灭。若但心怀猜忌,欲遏乱萌,好行诛杀,因而奸佞乘机,设谋害人,此非但不足以弭灾,且适足以酿祸。</p>
</div>
<div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab">
<p>却说隋主,因梦洪水淹城,心疑有个水傍名姓之人为祸。时朝中有老臣成阝国公李浑,原系陈朝勋旧,陈亡而降隋,仍其旧爵为成阝公。隋主猛然想得:“浑字军傍着水,其封爵为成阝公,成阝者城也,正合水淹城之梦。且军乃兵像,莫非此人便是个祸胎也?但其人已老,又不掌兵权,干不得甚事,除非应在他子孙身上。”</p>
</div>
<div class="tab-pane fade" id="pills-contact" role="tabpanel" aria-labelledby="pills-contact-tab">
<p>因问左右:“李浑有几子,其子何名?”左右奏道:“李浑长子已亡,止存幼子,小名洪儿。”隋主闻洪儿两字,一发惊疑,想道:“我梦中曾见城上有树,树上有果。树乃本也,树上果是木之子也,木子二字,合来正是个李字。今李家儿子的小名,恰好的洪水的洪字,更合我之所梦。此子将来必不利于国家,当即除之。”</p>
</div>
</div>
</div>
<pre>&lt;ul class="nav nav-pills mb-3" id="pills-tab" role="tablist"&gt;
&lt;li class="nav-item" role="presentation"&gt;
&lt;button class="nav-link active" id="pills-home-tab" data-bs-toggle="pill" data-bs-target="#pills-home" type="button" role="tab" aria-controls="pills-home" aria-selected="true"&gt;首页&lt;/button&gt;
&lt;/li&gt;
&lt;li class="nav-item" role="presentation"&gt;
&lt;button class="nav-link" id="pills-profile-tab" data-bs-toggle="pill" data-bs-target="#pills-profile" type="button" role="tab" aria-controls="pills-profile" aria-selected="false"&gt;个人简介&lt;/button&gt;
&lt;/li&gt;
&lt;li class="nav-item" role="presentation"&gt;
&lt;button class="nav-link" id="pills-contact-tab" data-bs-toggle="pill" data-bs-target="#pills-contact" type="button" role="tab" aria-controls="pills-contact" aria-selected="false"&gt;联系我们&lt;/button&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="tab-content" id="pills-tabContent"&gt;
&lt;div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab"&gt;
&lt;p&gt;从来国家吉凶祸福,虽系天命,多因人事;既有定数,必有预兆。于此若能恐惧修省,便可转灾为祥。所谓妖由人兴,亦由人灭。若但心怀猜忌,欲遏乱萌,好行诛杀,因而奸佞乘机,设谋害人,此非但不足以弭灾,且适足以酿祸。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab"&gt;
&lt;p&gt;却说隋主,因梦洪水淹城,心疑有个水傍名姓之人为祸。时朝中有老臣成阝国公李浑,原系陈朝勋旧,陈亡而降隋,仍其旧爵为成阝公。隋主猛然想得:“浑字军傍着水,其封爵为成阝公,成阝者城也,正合水淹城之梦。且军乃兵像,莫非此人便是个祸胎也?但其人已老,又不掌兵权,干不得甚事,除非应在他子孙身上。”&lt;/p&gt;
&lt;/div&gt;
&lt;div class="tab-pane fade" id="pills-contact" role="tabpanel" aria-labelledby="pills-contact-tab"&gt;
&lt;p&gt;因问左右:“李浑有几子,其子何名?”左右奏道:“李浑长子已亡,止存幼子,小名洪儿。”隋主闻洪儿两字,一发惊疑,想道:“我梦中曾见城上有树,树上有果。树乃本也,树上果是木之子也,木子二字,合来正是个李字。今李家儿子的小名,恰好的洪水的洪字,更合我之所梦。此子将来必不利于国家,当即除之。”&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</pre>
<p>垂直方向的胶囊形式。</p>
<div class="border-example">
<div class="d-flex align-items-start">
<div class="nav flex-column nav-pills me-3" id="v-pills-tab" role="tablist" aria-orientation="vertical">
<button class="nav-link active" id="v-pills-home-tab" data-bs-toggle="pill" data-bs-target="#v-pills-home" type="button" role="tab" aria-controls="v-pills-home" aria-selected="true">首页</button>
<button class="nav-link" id="v-pills-profile-tab" data-bs-toggle="pill" data-bs-target="#v-pills-profile" type="button" role="tab" aria-controls="v-pills-profile" aria-selected="false">个人简介</button>
<button class="nav-link" id="v-pills-messages-tab" data-bs-toggle="pill" data-bs-target="#v-pills-messages" type="button" role="tab" aria-controls="v-pills-messages" aria-selected="false">消息留言</button>
<button class="nav-link" id="v-pills-settings-tab" data-bs-toggle="pill" data-bs-target="#v-pills-settings" type="button" role="tab" aria-controls="v-pills-settings" aria-selected="false">设置</button>
</div>
<div class="tab-content" id="v-pills-tabContent">
<div class="tab-pane fade show active" id="v-pills-home" role="tabpanel" aria-labelledby="v-pills-home-tab">
<p>遂令内侍赍手敕至李浑家,将洪儿赐死。李浑逼于君命,不得不从。可怜洪儿无端殒命,举家号哭。后人有诗叹云:殷高与文王,因梦得良相。楚襄风流梦,感得神女降。堪叹隋高祖,恶梦添魔障。杀人当禳梦,举动殊孟浪。</p>
</div>
<div class="tab-pane fade" id="v-pills-profile" role="tabpanel" aria-labelledby="v-pills-profile-tab">
<p>隋主以疑心杀了李家之子,此事传播,早惊动了一个姓李的,陡起一片雄心。那人姓李,名靖,字药师,三原人氏,足智多谋深通兵法,且又弓马娴熟。真个能文能武。幼丧父母,育于外家,其舅即韩擒虎也。擒虎常与他谈兵,赞叹道:“可与谈孙吴者,非此子而谁?”时年方弱冠,却负大志。见隋朝用法太峻,料他国脉必不长久。</p>
</div>
<div class="tab-pane fade" id="v-pills-messages" role="tabpanel" aria-labelledby="v-pills-messages-tab">
<p>闻知隋主以梦杀人,暗笑道:“王者不死,杀人何益?”又想道:“据梦树木生子,固当是个李字;洪水滔天,乃天下混一也。将来有天下者,必是个姓李之人。”因便想到自己身上。一日,偶有事到华州,路经华山,闻说山神西岳大王,甚有灵应。</p>
</div>
<div class="tab-pane fade" id="v-pills-settings" role="tabpanel" aria-labelledby="v-pills-settings-tab">
<p>遂具香烛,到庙瞻拜,具疏默祷道:“布衣李靖,不揆狂简,献疏西岳大王殿下。靖闻上清下浊,爱分天地之仪;昼明夜昏,乃著神人之道。又闻聪明正直,依人而行,至诚感神,位不虚矣。伏惟大王嵯峨擅德,肃爽凝威;为灵术制百神,配位名雄四岳;...焚其庙宇,建纵横之略,未为晚也。惟神裁之。”</p>
</div>
</div>
</div>
</div>
<pre>&lt;div class="d-flex align-items-start"&gt;
&lt;div class="nav flex-column nav-pills me-3" id="v-pills-tab" role="tablist" aria-orientation="vertical"&gt;
&lt;button class="nav-link active" id="v-pills-home-tab" data-bs-toggle="pill" data-bs-target="#v-pills-home" type="button" role="tab" aria-controls="v-pills-home" aria-selected="true"&gt;首页&lt;/button&gt;
&lt;button class="nav-link" id="v-pills-profile-tab" data-bs-toggle="pill" data-bs-target="#v-pills-profile" type="button" role="tab" aria-controls="v-pills-profile" aria-selected="false"&gt;个人简介&lt;/button&gt;
&lt;button class="nav-link" id="v-pills-messages-tab" data-bs-toggle="pill" data-bs-target="#v-pills-messages" type="button" role="tab" aria-controls="v-pills-messages" aria-selected="false"&gt;消息留言&lt;/button&gt;
&lt;button class="nav-link" id="v-pills-settings-tab" data-bs-toggle="pill" data-bs-target="#v-pills-settings" type="button" role="tab" aria-controls="v-pills-settings" aria-selected="false"&gt;设置&lt;/button&gt;
&lt;/div&gt;
&lt;div class="tab-content" id="v-pills-tabContent"&gt;
&lt;div class="tab-pane fade show active" id="v-pills-home" role="tabpanel" aria-labelledby="v-pills-home-tab"&gt;
&lt;p&gt;遂令内侍赍手敕至李浑家,将洪儿赐死。李浑逼于君命,不得不从。可怜洪儿无端殒命,举家号哭。后人有诗叹云:殷高与文王,因梦得良相。楚襄风流梦,感得神女降。堪叹隋高祖,恶梦添魔障。杀人当禳梦,举动殊孟浪。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="tab-pane fade" id="v-pills-profile" role="tabpanel" aria-labelledby="v-pills-profile-tab"&gt;
&lt;p&gt;隋主以疑心杀了李家之子,此事传播,早惊动了一个姓李的,陡起一片雄心。那人姓李,名靖,字药师,三原人氏,足智多谋深通兵法,且又弓马娴熟。真个能文能武。幼丧父母,育于外家,其舅即韩擒虎也。擒虎常与他谈兵,赞叹道:“可与谈孙吴者,非此子而谁?”时年方弱冠,却负大志。见隋朝用法太峻,料他国脉必不长久。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="tab-pane fade" id="v-pills-messages" role="tabpanel" aria-labelledby="v-pills-messages-tab"&gt;
&lt;p&gt;闻知隋主以梦杀人,暗笑道:“王者不死,杀人何益?”又想道:“据梦树木生子,固当是个李字;洪水滔天,乃天下混一也。将来有天下者,必是个姓李之人。”因便想到自己身上。一日,偶有事到华州,路经华山,闻说山神西岳大王,甚有灵应。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="tab-pane fade" id="v-pills-settings" role="tabpanel" aria-labelledby="v-pills-settings-tab"&gt;
&lt;p&gt;遂具香烛,到庙瞻拜,具疏默祷道:“布衣李靖,不揆狂简,献疏西岳大王殿下。靖闻上清下浊,爱分天地之仪;昼明夜昏,乃著神人之道。又闻聪明正直,依人而行,至诚感神,位不虚矣。伏惟大王嵯峨擅德,肃爽凝威;为灵术制百神,配位名雄四岳;...焚其庙宇,建纵横之略,未为晚也。惟神裁之。”&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</pre>
<h6>使用数据属性</h6>
<p>只需指定 <code>data-bs-toggle=&quot;tab&quot;</code><code>data-bs-toggle=&quot;pill&quot;</code> 即可激活选项卡或药丸导航,而无需编写任何 JavaScript 在一个元素上。 在 <code>.nav-tabs</code><code>.nav-pills</code> 上使用这些数据属性。</p>
<pre>&lt;!-- Nav tabs --&gt;
&lt;ul class="nav nav-tabs" id="myTab" role="tablist"&gt;
&lt;li class="nav-item" role="presentation"&gt;
&lt;button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true"&gt;首页&lt;/button&gt;
&lt;/li&gt;
&lt;li class="nav-item" role="presentation"&gt;
&lt;button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile" type="button" role="tab" aria-controls="profile" aria-selected="false"&gt;个人简介&lt;/button&gt;
&lt;/li&gt;
&lt;li class="nav-item" role="presentation"&gt;
&lt;button class="nav-link" id="messages-tab" data-bs-toggle="tab" data-bs-target="#messages" type="button" role="tab" aria-controls="messages" aria-selected="false"&gt;消息留言&lt;/button&gt;
&lt;/li&gt;
&lt;li class="nav-item" role="presentation"&gt;
&lt;button class="nav-link" id="settings-tab" data-bs-toggle="tab" data-bs-target="#settings" type="button" role="tab" aria-controls="settings" aria-selected="false"&gt;设置&lt;/button&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- Tab panes --&gt;
&lt;div class="tab-content"&gt;
&lt;div class="tab-pane active" id="home" role="tabpanel" aria-labelledby="home-tab"&gt;...&lt;/div&gt;
&lt;div class="tab-pane" id="profile" role="tabpanel" aria-labelledby="profile-tab"&gt;...&lt;/div&gt;
&lt;div class="tab-pane" id="messages" role="tabpanel" aria-labelledby="messages-tab"&gt;...&lt;/div&gt;
&lt;div class="tab-pane" id="settings" role="tabpanel" aria-labelledby="settings-tab"&gt;...&lt;/div&gt;
&lt;/div&gt;</pre>
<h6>通过 JavaScript</h6>
<p>通过 JavaScript 启用可选项卡(每个选项卡需要单独激活):</p>
<pre>var triggerTabList = Array.prototype.slice.call(document.querySelectorAll('#myTab button'))
triggerTabList.forEach(function (triggerEl) {
var tabTrigger = new bootstrap.Tab(triggerEl)
triggerEl.addEventListener('click', function (event) {
event.preventDefault()
tabTrigger.show()
})
})</pre>
<p>您可以通过多种方式激活单个选项卡:</p>
<pre>var triggerEl = document.querySelector('#myTab button[data-bs-target="#profile"]')
bootstrap.Tab.getInstance(triggerEl).show() // Select tab by name
var triggerFirstTabEl = document.querySelector('#myTab li:first-child button')
bootstrap.Tab.getInstance(triggerFirstTabEl).show() // Select first tab</pre>
<h6>淡化效果</h6>
<p>要使标签淡入,请将 <code>.fade</code> 添加到每个 <code>.tab-pane</code>。 第一个选项卡窗格还必须具有 <code>.show</code> 以使初始内容可见。</p>
<pre>&lt;div class="tab-content"&gt;
&lt;div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab"&gt;...&lt;/div&gt;
&lt;div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab"&gt;...&lt;/div&gt;
&lt;div class="tab-pane fade" id="messages" role="tabpanel" aria-labelledby="messages-tab"&gt;...&lt;/div&gt;
&lt;div class="tab-pane fade" id="settings" role="tabpanel" aria-labelledby="settings-tab"&gt;...&lt;/div&gt;
&lt;/div&gt;</pre>
<h6>方法</h6>
<div class="callout callout-danger mb-3">
<strong>异步方法和转换</strong>
<p>所有 API 方法都是<strong>异步</strong>并启动<strong>transition</strong>。 它们会在过渡开始后但<strong>在过渡结束之前</strong>返回给调用者。 此外,<strong>转换组件上的方法调用将被忽略</strong></p>
</div>
<strong>constructor</strong>
<p>激活选项卡元素和内容容器。 Tab 应该有一个 <code>data-bs-target</code> 或者,如果使用链接,一个 <code>href</code> 属性,以 DOM 中的容器节点为目标。</p>
<pre>&lt;ul class="nav nav-tabs" id="myTab" role="tablist"&gt;
&lt;li class="nav-item" role="presentation"&gt;
&lt;button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true"&gt;首页&lt;/button&gt;
&lt;/li&gt;
&lt;li class="nav-item" role="presentation"&gt;
&lt;button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile" type="button" role="tab" aria-controls="profile" aria-selected="false"&gt;个人简介&lt;/button&gt;
&lt;/li&gt;
&lt;li class="nav-item" role="presentation"&gt;
&lt;button class="nav-link" id="messages-tab" data-bs-toggle="tab" data-bs-target="#messages" type="button" role="tab" aria-controls="messages" aria-selected="false"&gt;消息留言&lt;/button&gt;
&lt;/li&gt;
&lt;li class="nav-item" role="presentation"&gt;
&lt;button class="nav-link" id="settings-tab" data-bs-toggle="tab" data-bs-target="#settings" type="button" role="tab" aria-controls="settings" aria-selected="false"&gt;设置&lt;/button&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="tab-content"&gt;
&lt;div class="tab-pane active" id="home" role="tabpanel" aria-labelledby="home-tab"&gt;...&lt;/div&gt;
&lt;div class="tab-pane" id="profile" role="tabpanel" aria-labelledby="profile-tab"&gt;...&lt;/div&gt;
&lt;div class="tab-pane" id="messages" role="tabpanel" aria-labelledby="messages-tab"&gt;...&lt;/div&gt;
&lt;div class="tab-pane" id="settings" role="tabpanel" aria-labelledby="settings-tab"&gt;...&lt;/div&gt;
&lt;/div&gt;
&lt;script&gt;
var firstTabEl = document.querySelector('#myTab li:last-child button')
var firstTab = new bootstrap.Tab(firstTabEl)
firstTab.show()
&lt;/script&gt;</pre>
<strong>show</strong>
<p>选择给定的选项卡并显示其关联的窗格。 之前选择的任何其他选项卡都将被取消选择,并且其关联的窗格被隐藏。 <strong>在选项卡窗格实际显示之前返回调用方</strong>(即在 <code>shown.bs.tab</code> 事件发生之前)。</p>
<pre> var someTabTriggerEl = document.querySelector('#someTabTrigger')
var tab = new bootstrap.Tab(someTabTriggerEl)
tab.show()</pre>
<strong>dispose</strong>
<p>销毁元素的选项卡。</p>
<strong>getInstance</strong>
<p><em>Static</em> 方法,允许您获取与 DOM 元素关联的选项卡实例。</p>
<pre>var triggerEl = document.querySelector('#trigger')
var tab = bootstrap.Tab.getInstance(triggerEl) // Returns a Bootstrap tab instance</pre>
<strong>getOrCreateInstance</strong>
<p>静态方法,允许您获取与 DOM 元素关联的选项卡实例,或创建一个新的实例以防它未初始化</p>
<pre>var triggerEl = document.querySelector('#trigger')
var tab = bootstrap.Tab.getOrCreateInstance(triggerEl) // Returns a Bootstrap tab instance</pre>
<h6>Events</h6>
<p>显示新选项卡时,事件按以下顺序触发:</p>
<ol>
<li><code>hide.bs.tab</code> (在当前活动选项卡上)</li>
<li><code>show.bs.tab</code>(在待显示的选项卡上)</li>
<li><code>hidden.bs.tab</code>(在上一个活动选项卡上,与 <code>hide.bs.tab</code> 事件相同)</li>
<li><code>shown.bs.tab</code>(在新激活的刚刚显示的选项卡上,与 <code>show.bs.tab</code> 事件相同)</li>
</ol>
<p>如果没有选项卡处于活动状态,则不会触发 <code>hide.bs.tab</code><code>hidden.bs.tab</code> 事件。</p>
<table class="table">
<thead>
<tr>
<th style="width: 150px;">事件类型</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>show.bs.tab</code></td>
<td>此事件在标签显示时触发,但在新标签显示之前。 使用 <code>event.target</code><code>event.relatedTarget</code> 分别定位活动选项卡和上一个活动选项卡(如果可用)。</td>
</tr>
<tr>
<td><code>shown.bs.tab</code></td>
<td>显示选项卡后,此事件在选项卡显示时触发。 使用 <code>event.target</code><code>event.relatedTarget</code> 分别定位活动选项卡和上一个活动选项卡(如果可用)。</td>
</tr>
<tr>
<td><code>hide.bs.tab</code></td>
<td>此事件在要显示新选项卡时触发(因此要隐藏先前的活动选项卡)。 使用 <code>event.target</code><code>event.relatedTarget</code> 分别定位当前活动选项卡和新的即将活动选项卡。</td>
</tr>
<tr>
<td><code>hidden.bs.tab</code></td>
<td>此事件在显示新选项卡后触发(因此先前的活动选项卡被隐藏)。 使用 <code>event.target</code><code>event.relatedTarget</code> 分别定位上一个活动选项卡和新活动选项卡。</td>
</tr>
</tbody>
</table>
<pre>var tabEl = document.querySelector('button[data-bs-toggle="tab"]')
tabEl.addEventListener('shown.bs.tab', function (event) {
event.target // newly activated tab
event.relatedTarget // previous active tab
})</pre>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/popper.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/main.min.js"></script>
</body>
</html>
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化