我有一个使用纯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}
我不知道这是否可能没有javascript或其他,也找不到任何关于在CSS中使用“>”。
谢谢你的帮助
:hover
是由正在徘徊的元素的所有祖先触发的,因此.navigation ul.menu li:hover { background: #ccc; }
应该可以正常工作。
或者,总有一天我们应该能够使用:has()
。
.menu-item:hover {
background-color:#ccc;
}
.sub-menu li:hover {
background-color:#666;
}