CSS 下拉菜单是水平的而不是垂直的

Jel*_*lli 2 html css drop-down-menu

我无法弄清楚为什么下拉菜单是水平的。我制作了一个水平菜单,并尝试向其中添加一个下拉菜单。但是,它是水平的,我不知道为什么。

几个小时以来,我一直在绞尽脑汁,但我不知道该怎么办。

请帮我。

nav li {
  float: left;
}

li a {
  display: block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

li a:hover {
  background-color: #111;
}

li:last-child {
  border-right: none;
}

.navbar {
  display: flex;
  align-items: center;
  width: 100%;
  background-color: #ffffff;
}

#menu-container {
  display: flex;
  width: 100%;
  justify-self: center;
  justify-content: center;
}

.nav-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.dropdown {
  position: relative;
  z-index: 100;
}

.dropdown {
  display: inline-block;
  margin-left: 10px;
}

.dropdown:hover .dropdown-menu {
  height: auto;
  opacity: 1;
}

.dropdown-menu {
  position: absolute;
  z-index: 90;
  align-items: stretch;
  background-color: rgb(68, 68, 68);
  list-style: none;
  overflow: hidden;
  height: auto;
  opacity: 0;
  transition: opacity 0.5s;
}

nav ul {
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: #333;
  position: relative;
  top: 0;
}
Run Code Online (Sandbox Code Playgroud)
<nav class="navbar">
  <div id="menu-container">
    <ul class="nav-menu">
      <li class="nav-item">
        <a class="nav-link" href="#">Men</a>
      </li>
      <li class="nav-item dropdown">
        <a class="nav-link-dropdown" href="#">Women</a>

        <ul class="dropdown-menu">
          <li><a class="nav-link" href="#">New</a></li>
          <li><a class="nav-link" href="#">Tops</a></li>
          <li><a class="nav-link" href="#">Bottoms</a></li>
          <li><a class="nav-link" href="#">Accessories</a></li>
        </ul>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Kids</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">About</a>
      </li>
    </ul>
  </div>
</nav>
Run Code Online (Sandbox Code Playgroud)

ami*_*oob 5

如果您编写 flex 而不是 block,您的导航栏将显示为垂直,因为您可以使用 flex 在垂直侧设置元素的样式

在 .new-menu 中的 css 中写入 flex 而不是块中的显示属性