У меня есть подменю, в котором я хотел бы иметь фокус клавиатуры, когда я нажимаю на него.
Когда вы наводите курсор мыши на элемент 'Design'
в навигационном меню под подменю, но как мне отобразить подменю при переходе по элементам с помощью клавиши на клавиатуре? Элемент списка «Дизайн», кажется, не принимает фокус?
Насколько я понимаю, это делается с focus:within
псевдоклассом, но я не могу заставить его работать?
Любая помощь будет потрясающей.
CodePen: https://codepen.io/emilychews/pen/jOPRoqg
li {
margin: 1rem 0;
}
.design-submenu {
visibility: hidden;
opacity: 0;
}
.menu-item-2:hover .design-submenu,
.menu-item-2:focus-within > .design-submenu
{
visibility: visible;
opacity: 1;
}
<nav class="n">
<ul class="nav-menu-items">
<li class="menu-item menu-item-1"><a href="#" class="nav-link">Latest</a></li>
<li class="menu-item menu-item-2">Design
<ul class="submenu design-submenu">
<li class="submenu-item"><a href="#" class="nav-link">Illustration</a></li>
<li class="submenu-item"><a href="#" class="nav-link">Graphic Design</a></li>
</ul>
</li>
<li class="menu-item menu-item-3"><a href="#" class="nav-link">Development</a></li>
<li class="menu-item menu-item-4"><a href="#" class="nav-link">Marketing</a></li>
</ul>
</nav>