按下切换器时,Bootstrap 5 折叠导航栏不会显示

本尼

我正在尝试制作一个折叠的导航栏,但它不起作用,我不知道为什么。

我有这个折叠切换器,它应该针对#navbar1,但是当缩小页面时,导航栏会折叠 .navbar-toggler-icon 显示,但是当单击切换器时,它不会再次弹出。检查 CSS 时,有一个选择器 .collapse:not(.show) 应用 display:none; 但是当我添加那个类 .show 时,它总是显示出来并且不会通过按下切换器隐藏..

谢谢你的帮助 :)

编辑:我包含了 bootstrap.min.js

    <nav class="navbar navbar-light navbar-expand-lg fixed-top">
   <div class="container-lg">
     <ul class="navbar-brand navbar-nav nav ml-auto">
        <li class="nav-item">
           <a class="nav-link" href="#">Teamserver.at</a>
        </li>
      </ul>
      <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar1" aria-controls="navbar1" aria-expanded="false" aria-label="Toggle navigation">
         <span class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse" id="navbar1">
         <ul class="navbar-nav nav ml-auto navbar-right">
            <li class="nav-item">
               <a class="nav-link" href="#">XMPP/Jabber</a>
            </li>
            <li class="nav-item ">
               <a class="nav-link active" href="#">Über Teamserver</a>
            </li>
            <li class="nav-item">
               <a class="nav-link" href="#">Webinterface</a>
            </li>
            <li class="nav-item">
               <a class="nav-link" href="#">Einstellungen</a>
            </li>
            <li class="nav-item">
               <a class="nav-link" href="#">Software</a>
            </li>
         </ul>
      </div>
      <div class="navbar-right">
        <ul class="navbar-nav nav ml-auto">
          <li class="nav-item">
            <a class="nav-link" href="#"><button class="btn btn-light">Sign in</button></a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="#"><button class="btn btn-primary">Sign up</button></a>
          </li>
      </div>
   </div>
</nav>
里奇·德伯克

如果您想拥有两个单独的菜单(一个用于导航链接,另一个用于登录或注册),请创建两个<div class="collapse navbar-collapse navbar-menu" id="navbar1">具有唯一 ID 和一个公共类的菜单切换按钮的data-bs-target设置为类,.navbar-menuaria-controls获取两个 ID,navbar1 navbar2

<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>

<nav class="navbar navbar-light navbar-expand-lg fixed-top">
<div class="container-lg">
    <ul class="navbar-brand navbar-nav nav ml-auto">
        <li class="nav-item">
        <a class="nav-link" href="#">Teamserver.at</a>
        </li>
    </ul>
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target=".navbar-menu" aria-controls="navbar1 navbar2" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse navbar-menu" id="navbar1">
        <ul class="navbar-nav nav ml-auto navbar-right">
            <li class="nav-item">
            <a class="nav-link" href="#">XMPP/Jabber</a>
            </li>
            <li class="nav-item ">
            <a class="nav-link active" href="#">Über Teamserver</a>
            </li>
            <li class="nav-item">
            <a class="nav-link" href="#">Webinterface</a>
            </li>
            <li class="nav-item">
            <a class="nav-link" href="#">Einstellungen</a>
            </li>
            <li class="nav-item">
            <a class="nav-link" href="#">Software</a>
            </li>
        </ul>
    </div>
    <div class="collapse navbar-collapse navbar-menu ml-auto" id="navbar2">
        <ul class="navbar-nav nav">
        <li class="nav-item">
            <a class="nav-link" href="#"><button class="btn btn-light">Sign in</button></a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#"><button class="btn btn-primary">Sign up</button></a>
        </li>
    </div>
</div>
</nav>

您在第二个导航栏上有一个类navbar-right,但这不是标准的 Bootstrap 类。

更新

添加了一个始终在导航栏中保留登录和注册按钮的版本。

<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>

<nav class="navbar navbar-light navbar-expand-lg fixed-top">
    <div class="container-lg">
        <ul class="navbar-brand navbar-nav nav ml-auto">
            <li class="nav-item">
                <a class="nav-link" href="#">Teamserver.at</a>
            </li>
        </ul>

        <div class="collapse navbar-collapse order-1 order-lg-0" id="navbar1">
            <ul class="navbar-nav nav ml-auto navbar-right">
                <li class="nav-item">
                    <a class="nav-link" href="#">XMPP/Jabber</a>
                </li>
                <li class="nav-item ">
                    <a class="nav-link active" href="#">Über Teamserver</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Webinterface</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Einstellungen</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Software</a>
                </li>
            </ul>
        </div>

        <div class="navbar-right d-flex flex-nowrap">
            <a href="#" class="btn btn-outline-primary me-3">Sign in</a>
            <a href="#" class="btn btn-primary me-3">Sign up</a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar1" aria-controls="navbar1" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
        </div>
    </div>
</nav>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章