Скрипт выпадающего меню html

В сегодняшней статье я хотел бы рассказать, как создать на CSS2.1 и HTML выпадающее меню. Также я покажу один небольшой трюк, при помощи которого можно будет добавлять иконку «+» к элементам навигации в том случае, если в них скрыто выпадающее меню. Для этого мы воспользуемся псевдоэлементом :only-child .


Исходный код
Демо

Для начала мы создадим базовую структуру навигационного меню, состоящего из шести пунктов:

Далее нам нужно добавить базовые CSS-стили для HTML горизонтального меню. Я оставил комментарии к каждому блоку кода:

После применения стилей у нас должно получиться нечто вроде этого:


Чтобы добавить выпадающий список к какому-либо из элементов HTML меню, нам нужно добавить

    внутрь элемента
    для пункта, в котором нужно скрыть выпадающий список:

Мы добавили новый неупорядоченный список с тремя пунктами списка внутрь второго элемента
, который отвечает за пункт меню WordPress . Обратите внимание на то, что мы добавили

    после анкорного тега ( ).

Теперь добавим CSS-стили , чтобы выпадающий список был скрыт по умолчанию, и появлялся, когда посетитель наводит курсор мыши на соответствующий родительский элемент HTML меню для сайта. После приведенного выше CSS-кода добавьте следующий фрагмент:

Если до этого момента вы все делали правильно, то при наведении курсора на пункт меню « WordPress » должны увидеть выпадающий список с тремя другими пунктами (« Themes », « Plugins », « Tutorials »):


Чтобы добавить выпадающие списки, состоящие из нескольких уровней, этот процесс нужно повторить. Определяем пункт меню, из которого нужно сделать выпадающий список, и добавляем новый

    между тегами .

Взгляните на приведенный ниже HTML-код , в котором мы добавляем второй уровень выпадающего списка к пункту меню « Tutorial », который находится внутри пункта « WordPress »:

Читайте также  Пользуясь определением найти сумму ряда

Чтобы вертикальное меню HTML отображалось корректно, нужно добавить еще пару строк CSS кода :

Если все сделано правильно, у вас должно получиться нечто вроде этого:


Этот процесс можно повторять, и добавлять новые уровни. Но не следует добавлять их к последнему элементу выпадающего списка, так как я сделал это лишь для примера.

Добавляем индикатор выпадающего списка

Перед тем, как сделать выпадающее меню в HTML до конца, разберемся с индикатором, который указывает на наличие выпадающего списка, прикрепленного к тому или иному пункту меню (знак «+» ):

Для этого мы используем псевдоэлемент CSS3 (:only-child) . В данном случае он проверяет, имеются ли в тегах
родительского элемента другие элементы. Если нет, то знак плюса просто убирается, так как по умолчанию он присутствует рядом со всеми пунктами. Видите + возле пунктов WordPress и Tutorials ?


Значит, вы все сделали правильно.

В завершение

Многие для достижения подобного эффекта используют jQuery или другие библиотеки. Я считаю, что в этой статье приведен самый простой и легкий вариант. Но выбор за вами.

А как вы сделали меню на HTML ? Пожалуйста, расскажите об этом в комментариях.

Данная публикация представляет собой перевод статьи « How to Create a Pure CSS Dropdown Menu » , подготовленной дружной командой проекта Интернет-технологии.ру

Хотите улучшить этот вопрос? Update the question so it’s on-topic for Stack Overflow на русском.

Закрыт 1 год назад .

Объясните пожалуйста, как создается выпадающее меню при нажатии. Приму любую конструкцию, главное, чтобы работало. Нужен просто пример.

1 ответ 1

Без красоты, чисто принцип, как работает:

Я вам настоятельно рекомендую перечитать, основы работы с событиями. Тут введение в браузерные события, общие свойства всех событий и приёмы работы с ними. А также ознакомиться с документом и объектами страницы. Тут вы научитесь при помощи JavaScript получать и менять существующие элементы на странице, а также создавать новые.

Читайте также  Принтер для печати баннеров

Очень часто необходимо сделать на сайте выпадающее при наведении меню. Большинство используют для этого JavaScript / Jquery. Это конечно хорошо, но такого роди задачи легко решаются с помощью HTML / CSS .

Вот простой пример меню:

Для построения меню был использован список с классом menu. Подменю сделаны списками с классом submenu.

Теперь давайте минимально оформим наше меню стилями:

Для класса submenu было установлено свойство ‘display: none’. Это позволило на спрятать наше выпадающее меню.

Это позволит показывать подменю при наведении.

Ссылка на основную публикацию
Adblock detector