单击时未打开 html 移动菜单

时间:2021-07-08 14:15:03

标签: javascript html jquery css menu

我有一个 html 网站,在那里我创建了一个移动菜单,因为容器显示了一些空白,我给了它一个高度,之后移动菜单没有打开。代码如下:

function myFunction() {
  var x = document.getElementById("myLinks");
  if (x.style.display === "block") {
    x.style.display = "none";
  } else {
    x.style.display = "block";
  }
}
.mobile-container {
  max-width: 480px;
  margin: auto;
  background-color: #555;
  height: 50px;
  color: white;
  border-radius: 10px;
}

.topnav {
  overflow: hidden;
  background-color: #333;
  position: relative;
}

.topnav #myLinks {
  display: none;
}

.topnav a {
  color: white;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
  display: block;
}

.topnav a.icon {
  background: black;
  display: block;
  position: absolute;
  right: 0;
  top: 0;
}

.topnav a:hover {
  background-color: #ddd;
  color: black;
}
<div class="mobile-container">

  <!-- Top Navigation Menu -->
  <div class="topnav">
    <a href="#home" class="active" style="color:black">MENU</a>
    <div id="myLinks">
      <a href="#news">News</a>
      <a href="#contact">Contact</a>
      <a href="#about">About</a>
    </div>
    <a href="javascript:void(0);" class="icon" onclick="myFunction()">
      <i class="fa fa-bars"></i>
    </a>
  </div>
</div>

但是当我点击图标时这个菜单没有打开,谁能告诉我这里可能有什么问题,提前致谢

2 个答案:

答案 0 :(得分:1)

将 css 添加到 .mobile-container

z-index: 1000;

你也可以尝试像

这样的位置样式
position: relative;

position: absolute;

答案 1 :(得分:0)

您是否尝试将 overflow: visible 添加到您的容器中?

.mobile-container {
  overflow: visible;