css - 将鼠标悬停在嵌套项上会影响其父级吗?

标签 css drop-down-menu css-selectors

我有一个使用纯 CSS 的菜单,悬停父 li 项显示嵌套列表。一个简化的例子:

  <ul id="menu-top" >
    <li class="menu-item">
      <a href="http://localhost/wp5/forums/">Forums</a>
      <ul class="sub-menu">
        <li><a href="http://localhost/wp5/register/">Register</a></li>
        <li><a href="http://localhost/wp5/activate/">Activate</a></li>
        <li><a href="http://localhost/wp5/members/">Members</a></li>
      </ul>
    </li>
  </ul>

CSS:

.navigation ul.menu li:hover { background: #ccc} //hover the parent item changes it bg color

.navigation ul.sub-menu li {
 display:none;
}

.navigation ul li:hover > ul.sub-menu li { display: block; }

它工作正常,但我想添加一个“持久”效果,我想在悬停子项时保持父样式设置。

我试过了,但无法正常工作:

.navigation ul.sub-menu li:hover > .navigation ul.menu li { background: #ccc}

我不知道在没有 javscript 的情况下这是否可行,也找不到任何关于在 CSS 中使用“>”的信息。

感谢您的帮助

最佳答案

:hover 在悬停元素的所有祖先上触发,因此 .navigation ul.menu li:hover { background: #ccc; 应该可以正常工作。

或者,有一天我们应该能够使用 :has() .

关于css - 将鼠标悬停在嵌套项上会影响其父级吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11675923/

相关文章:

javascript - 如何使用 JavaScript 和 Nth-Last-Child 添加和删除 CSS 类?

jquery - 我们如何根据元素深度设置 CSS Margin?

javascript - 以编程方式生成纸影

javascript - Bootstrap 图像定位在背景之上

css - 是否可以使用浏览器检查器检查 CSS3 动画关键帧?

javascript - 如何让导航栏下拉菜单与主体重叠?

css - 如何在IE8上制作一个半透明背景色的下拉菜单?

html - 如何使用 twitter bootstrap 在导航栏上获得下拉菜单?

objective-c - iOS : Disable Push Notifications drop down tray programatically

python - 从任意嵌套的 HTML 中提取所有文本