引导 4 导航栏链接在折叠中不显示



一切正常,直到导航栏崩溃。折叠后,链接将消失。我已经看过引导程序的例子和文档,但看不出我的问题在哪里。

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<nav class="navbar navbar-expand-lg sticky-top bg-dark navbar-dark py-1">
<div class="container">
<a class="py-2 navbar-brand" href="#">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="d-block mx-auto" role="img" viewBox="0 0 24 24" focusable="false"><title>Product</title><circle cx="12" cy="12" r="10"></circle><path d="M14.31 8l5.74 9.94M9.69 8h11.48M7.38 12l5.74-9.94M9.69 16L3.95 6.06M14.31 16H2.83m13.79-4l-5.74 9.94"></path></svg>
</a>
<button class="navbar-toggler ml-auto" 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 ml-auto">
<li class="nav-item active">
<a class="py-2 d-none d-md-inline-block" href="#">Tour</a>
</li>
<li class="nav-item">
<a class="py-2 d-none d-md-inline-block" href="#">Product</a>
</li>
<li class="nav-item">
<a class="py-2 d-none d-md-inline-block" href="#">Features</a>
</li>
<li class="nav-item">
<a class="py-2 d-none d-md-inline-block" href="#">Enterprise</a>
</li>
<li class="nav-item">
<a class="py-2 d-none d-md-inline-block" href="#">Support</a>
</li>
<li class="nav-item">
<a class="py-2 d-none d-md-inline-block" href="{% url 'logout' %}">Logout</a>
</li>
<li class="nav-item">
<a class="py-2 d-none d-md-inline-block" href="{% url 'dashboard' %}">Dashboard</a>
</li>
<li class="nav-item">
<a class="py-2 d-none d-md-inline-block" href="{% url 'login' %}">Login</a>
</li>
<li class="nav-item">
<a class="py-2 d-none d-md-inline-block" href="{% url 'landingpage:register' %}">Sign Up</a>
</li>
</ul>
</div>
</div>
</nav>

您需要导入boostrap.js和jquery。

<script src="https://code.jquery.com/jquery-3.6.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/js/bootstrap.min.js"></script>

当我阅读自己的问题时,我意识到我犯了一个现在很明显的错误。我没有删除问题,而是发布了答案,以防其他搜索人员可能忽略了上一次迭代中剩下的display property

d-none被错误地留在了链接标签中。显示属性类可以非常方便地隐藏不同显示大小的元素。但是,d-none将隐藏任何大小的元素。在我的案例中,与d-md-inline-block结合允许在折叠之前显示链接,但在折叠之后,d-none接管并隐藏链接。

如Bootstrap 4文档中所述,显示属性(我在搜索中显然忽略了这一点(;

";要隐藏元素,只需使用.d-none类或.d-{sm,md,lg,xl}-none用于任何响应屏幕变体的类。要仅在给定的屏幕大小间隔上显示元素,可以将.d-x-none类与.d-x-x类组合,例如.d-none.d-md-block.d-xl-none将隐藏除中型和大型设备外的所有屏幕大小的元素">

最新更新