单击时未打开html移动菜单

Posted

技术标签:

【中文标题】单击时未打开html移动菜单【英文标题】:html mobile menu not opening while clicking 【发布时间】:2021-09-19 00:32:54 【问题描述】:

我有一个 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>

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

【问题讨论】:

但是......它正在打开...... @RokoC.Buljan 在这里打开,但是在我的本地主机中,当我给容器提供 lessheight 时,它没有打开, 【参考方案1】:

将 css 添加到 .mobile-container

z-index: 1000;

您也可以尝试使用类似的位置样式

position: relative;

或者

position: absolute;

【讨论】:

【参考方案2】:

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

.mobile-container 
  overflow: visible;

【讨论】:

以上是关于单击时未打开html移动菜单的主要内容,如果未能解决你的问题,请参考以下文章

Jquery下拉菜单单击始终打开

Bootstrap 折叠组件在单击时未关闭菜单

如何正确显示/隐藏移动菜单 onclick

Bootstrap - 移动菜单中的下拉菜单打开正常,无法关闭下拉菜单

select2 - 单击时未选择下拉选项

当用户在菜单外单击时,如何关闭 Bootstrap 导航栏下拉菜单?