На выполнение этого задания я потратил всего 1 проверку и получил 100% результат. Начнем.
Первым делом зададим стили основному меню:
.main-menu { width: 200px; margin: 0; padding: 0; display: inline-block; }
Далее оформим сами элементы списка: выберем режим отображения, зададим фон, рамку снизу и относительное позиционирование (т.е. относительно чего мы будем позиционировать наше выпадающее меню)
.main-menu li { display: block; background: #2980b9; border-bottom: 2px solid #2c3e50; position: relative; list-style: none; }
так и не понял, нужно ли задавать display: block; или нет, но работает и без него.
Далее убираем у ссылок подчеркивание и меняем цвет текста, выбираем режим отображения и задаем отступы.
.main-menu li a { padding: 10px 15px; display: block; text-decoration: none; color: #ffffff; }
Переходим к оформлению выпадающего блока меню. Задаем абсолютное позиционирование, чтобы мы могли разместить его где угодно, убираем маркеры, z-index чтобы меню было поверх основного и координаты и ширину.
.main-menu .sub-menu { position: absolute; z-index: 1; top: 0; left: 140px; width: 200px; display: none; - (только чтобы показать работу моего бонуса, а для решения не надо) }
Элементам выпадающего меню изменим фон и цвет рамки:
.main-menu .sub-menu li { background: #1abc9c; border-bottom: 2px solid #2ecc71; }
И наконец изменим фон активного элемента меню:
.main-menu .opened {
background: #1abc9c;
}
Готово! Задание выполнено на 100%. Мне кажется, что мой код можно улучшить и сделать короче, хотя-бы на 1 строку убрав свойство display: block; у элементов меню, но правильно ли мне кажется?
P.S. Небольшой бонус от меня: для создания полноценного меню с выпадающим списком при наведении на пункт “Курсы” нужно последнюю строку заменить на:
.main-menu .opened:hover .sub-menu { display: block; }
и дописать свойства:
.main-menu li:hover { background: #1abc9c; }
.main-menu .sub-menu li:hover { background: #2ecc71; }
Таким образом мы получим подсвечивание всех пунктов меню при наведении, а так-же выпадающее саб-меню при наведении на 2й пункт
Спасибо за внимание!