html - 停止将鼠标悬停在子元素上单击

标签 html css

如果 child 处于焦点状态(已被点击),我如何才能失去 parent 的悬停状态?我有一个菜单箭头(将其替换为 OPEN 以减少代码),它会在悬停时打开我的菜单,当我单击它们时会聚焦菜单项。 单击菜单项后,我希望能够失去对父项的关注,以便菜单可以消失。

如果可能的话,我尽量避免使用任何 javascript,这是我最好的尝试...

.submenu:not(.submenu ul li a:focus):hover {
    display: block;
}

这是我的html

.open-submenu:hover .submenu {
  display: block;
}

.submenu {
  display: none;
}

.submenu ul li a:focus {
  background-color: yellow;
}

.submenu:not(.submenu ul li a:focus):hover {
	display: block;
}
<html>
 <head>
 </head>
 <body>
    <div class="open-submenu">OPEN
      <div class="submenu">
        <ul>
          <li><a href="#">Home</a></li>
          <li><a href="#">About</a></li>
          <li><a href="#">Help</a></li>
        </ul>
      </div>
    </div>
  </body>
 </html>

编辑

我在单页应用程序上使用 AngularJS 框架,点击 anchor 不会像标准 html 那样重新加载页面。

最佳答案

.submenu:hover ul li:active,
.submenu:hover ul li:active ~ li {
  display: none;
}

您可以试试这个,但不确定您是否可以在 href 中提供任何链接,因为它使用的是 display none。

如果它不起作用,那么您可能需要使用 jQuery/javascript 来实现预期的行为。

关于html - 停止将鼠标悬停在子元素上单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55726331/

相关文章:

javascript - 警报阵列时未识别

java - Selenium driver.getPageSource() ,将链接更改为绝对

html - 每页上打印的样式标题

javascript - 使用 jquery 将 javascript(用于 Quicktime)插入 <div>

html - 为什么 Firefox 会截断我的 &lt;input type ="text"/> 中的文本?

html - Umbraco 截断

html - 如何将盒子的内容垂直居中对齐

html - 我如何更改此 HTML/CSS 以使容器水平扩展到 float 的子项?

css - 内容不会扩展到设置了最小宽度和最大宽度的 div - 宽度始终停留在最小值

javascript - 来自波浪线 svg 的连续波浪动画