bootstrap 的导航栏中的 'collapse' 有问题

I have problem with 'collapse' in the bootstrap's navbar

我正在使用 bootstrap5 和 vue.js 制作响应式导航栏。 我用bootstrap的例子做了一个简单的响应式NavBar,但是当我做一些修改并使用'collapse button'时出现了一些问题。 下图是我的 NavBar。 (桌面设备 UI 和移动设备 UI)

这是我通过折叠打开菜单栏时的图像。 当我打开菜单时,右侧的徽标和登录按钮被推到一边。 (登录按钮在菜单栏下方)

这是我的代码。

<div class="container-fluid container-lg px-0 px-xl-5">
    <header class="mb-3" :class="{ 'navbar--hidden': !showNavbar }">
      <nav class="navbar navbar-expand-md fixed-top navbar-light">
        <div class="container-fluid container-md mx-0 mx-md-auto bg-white">
          <button
            class="navbar-toggler"
            type="button"
            data-bs-toggle="collapse"
            data-bs-target="#navbarNavAltMarkup"
            aria-controls="navbarNavAltMarkup"
            aria-expanded="false"
            aria-label="Toggle navigation"
          >
            <span class="navbar-toggler-icon"></span>
          </button>
          <a class="logo-font fs-4" href="/"> LOGO </a>
          <!-- menu items -->
          <div
            class="collapse navbar-collapse justify-content-center"
            id="navbarNavAltMarkup"
          >
            <div class="navbar-nav text-start">
              <a class="nav-item" href="screen1">menu1</a>
              <a class="nav-item" href="screen1">menu2</a>
              <a class="nav-item" href="screen1">menu3</a>
              <a class="nav-item" href="screen1">menu4</a>
            </div>
          </div>
          <a class="nav-login" href="login">login</a>
        </div>
      </nav>
    </header>
  </div>

请问这个问题的原因和解决方法? 提前致谢!

据我了解,您可以复制登录按钮并将其放在菜单项 div 前面,如下所示:

    <div class="container-fluid container-md mx-0 mx-md-auto bg-white">
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup">
        <span class="navbar-toggler-icon"></span>
      </button>
      <a class="logo-font fs-4" href="/"> LOGO </a>
      <a class="nav-login d-sm-none" href="login">login</a>
      <!-- menu items -->
      <div class="collapse show navbar-collapse justify-content-center" id="navbarNavAltMarkup"> 
        <div class="navbar-nav text-start">
          <a class="nav-item" href="screen1">menu1</a>
          <a class="nav-item" href="screen1">menu2</a>
          <a class="nav-item" href="screen1">menu3</a>
          <a class="nav-item" href="screen1">menu4</a>
        </div>
      </div>
      <a class="nav-login d-xs-none" href="login">login</a>
    </div>

然后,您可以使用 bootstrap hiding element class 来控制何时 show/hide 登录按钮。

我希望这个想法对您有所帮助,如果没有,也许您可​​以提供一个示例片段,以便我们可以更多地了解您的问题。