Мастерская: создаём меню / Состояние «открытое подменю» [27/28]
×

Состояние «открытое подменю» [27/28]

Иногда нужно сделать так, чтобы выпадающее подменю было открыто по умолчанию (а не только при наведении мыши). Как этого добиться?

Сначала к элементу списка в меню верхнего уровня, где должно быть открыто подменю, добавим класс opened.

Затем используем селектор: .main-menu .opened .sub-menu. И в нём пропишем свойство, которое отображает подменю.

Очень похоже на выделение активного пункта меню. Кстати, чтобы выделить сам пункт меню с открытым подменю, можно использовать вот такой селектор .main-menu > .opened > a, т.е. «ссылка, которая лежит непосредственно в элементе с классом opened».


Выполнить задание
HTML
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>Состояние «открытое подменю»</title> </head> <body> <ul class="main-menu"> <li><a href="#company">О компании</a></li> <li> <a href="#services">Услуги</a> <ul class="sub-menu"> <li><a href="#1">Разработка</a></li> <li><a href="#2">Продвижение</a></li> <li><a href="#3">Контекст</a></li> </ul> </li> <li><a href="#team">Сотрудники</a> <ul class="sub-menu"> <li><a href="#1">Руководство</a></li> <li><a href="#2">Рабочие</a></li> </ul> </li> </ul> </body> </html>
CSS
body { min-width: 300px; padding: 10px; font-family: "Arial", sans-serif; font-size: 14px; line-height: 1.4; } .main-menu { margin: 0; padding: 0; list-style: none; border: 1px solid #e5e5e5; } .main-menu > li { position: relative; display: inline-block; margin-right: -4px; } .main-menu a { display: block; margin-left: -1px; padding: 8px 10px; color: #0088cc; border-left: 1px solid #e5e5e5; } .main-menu a:hover { background: #f5f5f5; } .main-menu .sub-menu { position: absolute; left: 1px; display: none; width: 150px; margin: 0; padding: 0; list-style: none; background: #fcf8e3; } .main-menu .sub-menu a { margin-bottom: -1px; border: 1px solid #e5e5e5; } .main-menu > li:hover .sub-menu { display: block; } .main-menu .opened .sub-menu { } .main-menu > .opened > a { }
HTML Academy
  1. Добавьте ко второму элементу списка .main-menu класс opened.
  2. Сделайте так, чтобы подменю внутри пункта с классом opened отображалось по умолчанию.
  3. Задайте для ссылки, лежащей непосредственно внутри элемента с классом opened, белый цвет и фон #0088cc.
Теория Проверить Следующее задание
Идёт запись на курс Базовый HTML и CSS #16, который стартует 16 января.

Обсуждение и комментарии

Если у вас возникли сложности при прохождении задания, то вы можете обратиться за помощью на наш форум. Мы отслеживаем сообщения и постараемся ответить максимально быстро.

Пожалуйста, не пишите решение задач. Такие сообщения будут удаляться.

Перейти на форум или открыть комментарии.