【发布时间】:2016-07-15 17:08:25
【问题描述】:
我需要一点帮助。我正在尝试制作一个带有子菜单的菜单,以便在没有 javascript 或 jquery 的情况下打开(如果可能,只有 css)。
<nav id="container">
<ul>
<li><a href="">Link1</a></li>
<li class="haschildren selected">
<a>Link2</a>
<ul class="submenu">
<li><a href="">Link2-1</a></li>
<li><a href="">Link2-2</a></li>
<li><a href="">Link2-3</a></li>
</ul>
</li>
<li class="haschildren">
<a>Link3</a>
<ul class="submenu">
<li><a href="">Link3-1</a></li>
<li><a href="">Link3-2</a></li>
<li><a href="">Link3-2</a></li>
</ul>
</li>
</ul>
</nav>
当我选择了类并加载了页面时,.selected .submenu 将打开。但是,当我将鼠标悬停在具有子菜单的另一个 li 时,我希望选定的子菜单消失并出现新的子菜单。在我的情况下,当将鼠标悬停在 Link3 li 上时,我无法隐藏选定的子菜单。 对不起我的英语不好。为了清楚起见,我想在将 Link3 悬停时隐藏 Link2 子菜单并打开 Link3 子菜单。但是当从 Link3 悬停时返回默认选择。如果有人可以提供帮助,我将不胜感激。
我在这里做了一个例子。 https://jsfiddle.net/ef8zgogr/
【问题讨论】:
-
您不需要
.selected类名,因为使用:hover伪状态您可以在不更改类名的情况下实现整个功能。 -
我希望在页面加载后打开 selected.submenu。这就是我使用选定类的原因