CSS递归菜单在悬停时显示子菜单

标签 css

我使用 ngtemplates 创建了一个 Angular 递归菜单。 我想制作在悬停时显示子菜单的菜单。但是,当我退出主菜单的悬停时,我遇到了麻烦,子菜单消失了。

这是我生成的示例代码结构。

a+ul {
  display: none;
}

a:hover+ul {
  display: block
}
<ul>
  <li>
    <a>a</a>
    <ul>
      <li>
        <a>b</a>
        <ul>
          <li><a>c</a></li>
        </ul>
      </li>
    </ul>
  </li>
</ul>

最佳答案

这里的问题是,一旦您开始将鼠标悬停在 c 文本上,您就不再将鼠标悬停在 a 上。所以 a:hover + ul 不再有效并且 ul 消失了。要解决这个问题,您可以将 ul 放在包装器中并像这样调整选择器和 html:

.menu-wrapper>ul {
  display: none;
}

.menu-wrapper:hover>ul {
  display: block
}
<ul>
  <li>
    <div class="menu-wrapper">
      <a>a</a>
      <ul>
        <li>
          <div class="menu-wrapper">
            <a>a</a>
            <ul>
              <li><a>c</a></li>
            </ul>
          </div>
        </li>
      </ul>
    </div>
  </li>
</ul>

关于CSS递归菜单在悬停时显示子菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59640338/

相关文章:

html - 绝对相对 : adapt position without size

javascript - 如果输入了数据,请清空文本框

css - AngularJS:条件语句在 Controller 的 Angular JS 方法中不起作用

css - html, css with center div 问题

twitter-bootstrap - 响应式数据表详细信息图标条件格式

jQuery HiSRC 插件总是加载视网膜图像

html - 隐藏 HTML 表格列

css - 使用 bootstrap-sass 更改 RoR 3.2.3 中的链接样式

html - 您应该使用什么标签来制作自定义标题而不是 <h1>-<h6>?

css - 针对特定案例调整 UI-ICON-SEARCH 的高度