0

我有一个使用纯 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 中使用“>”的信息。

谢谢你的帮助

4

2 回答 2

3

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

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

于 2012-07-26T18:58:24.473 回答
0
.menu-item:hover {
     background-color:#ccc;
}
.sub-menu li:hover {
     background-color:#666;
}
于 2012-07-26T19:01:15.313 回答