html - 隐藏基于 NavBar 的元素?
问题描述
有没有办法根据引导导航栏选择隐藏/显示元素而无需额外的 JS 或 jQuery?
我有一个带有(“T1”,“T2”,“T3”)的导航栏。该页面包含三个表(T1、T2、T3)。在导航栏中按下“T1”时,我想隐藏 T2 和 T3 等。
解决方案
有没有一种方法可以根据引导 NavBar 选择隐藏/显示元素而无需额外的 JS 或 jQuery?
有点儿
您可以使用 Bootstrap 的折叠插件为您的表格模拟手风琴。折叠插件通过使用一些 CSS 类和数据属性来显示和隐藏内容。
<a data-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
Expand/collapse
</a>
<div id="collapseExample" class="collapse">
Here's the content you want to expand/collapse.
</div>
您可以在可折叠内容上指定一个data-parent
属性以实现类似手风琴的行为(即,一次只有一个部分可见)。Bootstrap 的文档展示了如何使用该属性创建手风琴。data-parent
我在下面整理了一个片段,看起来类似于您在问题中描述的内容。您还可以在 Codepen 上查看示例。
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<nav class="navbar navbar-expand-lg navbar-light bg-light mb-4">
<a class="navbar-brand" href="#">Site</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" id="headingOne" href="#collapseOne" role="button" data-toggle="collapse" aria-expanded="true" aria-controls="collapseOne">Table 1</a>
</li>
<li class="nav-item active">
<a class="nav-link" id="headingTwo" href="#collapseTwo" role="button" data-toggle="collapse" aria-expanded="false" aria-controls="collapseTwo">Table 2</a>
</li>
<li class="nav-item active">
<a class="nav-link" id="headingThree" href="#collapseThree" role="button" data-toggle="collapse" aria-expanded="false" aria-controls="collapseThree">Table 3</a>
</li>
</ul>
</div>
</nav>
<div id="accordionExample">
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample">
<h2>Table 1</h2>
<table class="table">
<thead>
<tr>
<th scope="col">Numbers</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<th>3</th>
</tr>
</tbody>
</table>
</div>
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionExample">
<h2>Table 2</h2>
<table class="table">
<thead>
<tr>
<th scope="col">More numbers</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<th>3</th>
</tr>
</tbody>
</table>
</div>
<div id="collapseThree" class="collapse" aria-labelledby="headingThree" data-parent="#accordionExample">
<h2>Table 3</h2>
<table class="table">
<thead>
<tr>
<th scope="col">Even more numbers</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<th>3</th>
</tr>
</tbody>
</table>
</div>
</div>
警告
该行为可能不是您想要的。如果是这种情况,那么您可能不得不求助于使用 JS 来解决这个问题。在没有 JS 的情况下,肯定还有其他显示和隐藏内容的示例,但是如果没有它,可能很难实现您正在寻找的内容。
推荐阅读
- java - AWS CDK Java - CfnCloudFormationProduct ProvisioningArtifactParameters
- ios - Flutter页面不可滚动:多个小部件时如何滚动?
- optimization - Pyomo 混合整数线性优化 - 旅行商问题
- filter - Acumatica - 按当前供应商筛选 PO 库存选择器
- python - 无法使用 python 日志记录模块调用具有单独类和脚本的多个记录器
- r - 如何将一列中的数值分配给另一列中的文本
- swift - 如何通知其他开发人员目标功能已弃用并提供解决方案?
- python - OSMnx/NetworkX 是否提供了一个函数来计算从 start_node 到 end_node 的路由,其中包含一组预定义的节点(或边)?
- c# - Itext7不显示阿拉伯语文本
- apache - Centos 7 - Apache 网站名称混淆?