汉堡菜单下拉菜单未出现在其正下方

问题描述 投票:0回答:1

汉堡菜单下拉列表不会出现在其正下方,而是出现在页面的中央。

你能帮我让下拉菜单出现在汉堡菜单的正下方而不是其他地方吗?

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-collapse {
  position: absolute;
  top: 100%;
  right: 0;
  background-color: rgba(0, 0, 0, 0.9);
  width: auto;
  white-space: nowrap;
  transform: translateX(-100%);
  min-width: 150px;
}

.navbar-nav .nav-link {
  color: white;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" />
<script srrc="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>

<nav class="navbar navbar-expand-lg navbar-dark">
  <div class="container">
    <a class="navbar-brand" href="#"><img src="images/headerlogo.png" alt="Logo"></a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
    <div class="collapse navbar-collapse" id="navbarNav">
      <ul class="navbar-nav ml-auto">
        <li class="nav-item">
          <a class="nav-link" href="#">Menu Item 1</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Menu Item 2</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Menu Item 3</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Menu Item 4</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Menu Item 5</a>
        </li>
      </ul>
    </div>
  </div>
</nav>

html css hamburger-menu
1个回答
0
投票

为了确保下拉菜单出现在汉堡菜单的正下方,您需要调整 .navbar-collapse 类的位置。目前,它是绝对定位的,这导致它相对于最近的定位祖先(在本例中为 .container div)进行定位。要使其显示在汉堡菜单下方,您可以将其相对于 .navbar-toggler 按钮定位。

.navbar-collapse {
  position: absolute;
  top: calc(100% + 10px); /* Adjust as needed for spacing */
  right: 0;
  background-color: rgba(0, 0, 0, 0.9);
  width: auto;
  white-space: nowrap;
  transform: translateX(-100%);
  min-width: 150px;
}

.navbar-toggler {
  position: relative; /* Ensure relative positioning for the dropdown */
}

© www.soinside.com 2019 - 2024. All rights reserved.