Я занимаюсь навигационной панелью, и мне бы хотелось, чтобы пользователь нажал на "showreel" два других раздела. Как я могу это сделать с помощью CSS?
здесь мой код:
<li><a href="showreel.html">showreel</a>
<ul>
<li><a href="showreel.html">director</a></li>
<li><a href="showreel.html">cinematographer</a></li>
</ul>
Как упоминают другие, вы, вероятно, захотите использовать :hover
для меню наведения. Обратите внимание, что обычные меню наведения недоступны с использованием только клавиатур, и для их работы на клавиатурах необходимо использовать дополнительные усилия. Для этого вам нужно подключиться к событиям фокуса:
CSS
ul li:hover ul,
ul li.forceShow ul
{
display:block;
}
ul ul {
display:none;
}
JS
$('ul a').focusin(function () {
$(this).parent().toggleClass('forceShow');
});
Эта ссылка поможет вам. Откройте его в своем браузере, щелкните правой кнопкой мыши и проверьте элемент, вы найдете код.
Хорошо, с новой разметкой, которую вы предоставили, я не думаю, что вы можете добиться того, чего хотите, просто с помощью CSS. Причина в том, что ваш
<a href="showreel.html">showreel</a>
тег, который получает: активный псевдокласс, но он не содержит двух других ссылок. Поэтому две ссылки не могут быть затронуты ссылкой showreel, а не только CSS.
Если вы хотите использовать Javascript, решение довольно простое.
Это поможет много, если вы сможете показать свою разметку.
Кроме того, для такого поведения лучше использовать JavaScript вместо CSS. Вы не должны использовать CSS для изменения стиля элемента в зависимости от другого внешнего элемента.
Если режиссер и кинематографист находятся в одном и том же элементе, то, возможно, такой вложенный селектор (я предполагаю, что ваш showreel является якорем, а другой - пролетом)
a:active > span {
display: inline;
}
Но в очередной раз это не лучшая практика, и вы должны изучить решения Javascript.