html - 下拉菜单子(monad)菜单不显示

标签 html css menu

当我将鼠标悬停在列表项上时,无法显示子菜单。我做错了什么?

它使用 display:none 正确隐藏,但在我悬停时不显示。

nav ul ul {display: none;}

nav ul li:hover > ul{display: block;}

完整代码:

<nav>
        <ul>

        <li><a href="#">link</a></li>
            <li><a href="#">link2</a></li>
                <ul>
                  <li><a href="#">SubMenu</a></li>
                </ul>

        </ul>
    </nav>

CSS:

/* start NAVBAR */
nav ul,li{
  display: flex;
  -webkit-justify-content: center;  
  -moz-justify-content: center;
  -ms-justify-content: center;  
  justify-content: center;

  list-style: none;
}

nav ul ul {display: none;}

nav ul li:hover > ul{display: block;}

nav ul {position: relative;}

nav ul li {
  position: relative;
  flex: 1;
  background-color: green;
}

nav ul li a{
  color: black;
  #background-color: pink;
  text-decoration: none;
  padding: 5px 10px 5px 10px;
}

nav ul li:hover{
  background-color: orange;
}

nav ul li ul {position: absolute; top:30px; left:0px;}

/* end NAVBAR */

最佳答案

问题是您关闭了 li在将子菜单放入元素之前。搬你收</li>标记到 ul 之后子菜单:

<li><a href="#">link2</a>
    <ul>
        <li><a href="#">SubMenu</a></li>
    </ul>
</li>

为什么?因为你的 CSS 选择了 nav ul li:hover > ul{display: block;}期待 ul元素(您希望在悬停时显示)成为 li直接子元素。实际上,您的 ul 根本不是 child

关于html - 下拉菜单子(monad)菜单不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24389488/

相关文章:

html - CSS:打开多个元素时垂直菜单不可滚动

html - 为什么此 css 不将此表单上的提交按钮居中?

javascript - 我需要学习 Java 才能使用 PhoneGap 创建 Android 应用程序吗?

css - badge-pill 和 h2 水平对齐

css - 水平嵌套 LI 菜单

html - 如何仅向离开图像的文本添加不透明度,而在同一元素中没有任何不透明度?

html - 背景图像在 Firefox 中不呈现

html - 替代 Internet Explorer 8 上的独生子女

jquery - 通过箭头图像显示和隐藏的垂直菜单

CSS 下拉菜单 - 如何定位子元素?