Создание примера выпадающего меню с помощью CSS :focus-within
В сегодняшнем примере мы создадим выпадающее меню на чистом CSS, используя псевдокласс :focus-within .
Вы можете увидеть в видео ниже рабочий пример:
Как работает псевдоселектор CSS :focus-within
:focus-within выбирает элемент, если этот элемент содержит дочерние элементы, находящиеся в фокусе.
Он связан с псевдоклассом :focus , просто он сработает, если будет выбрано что-то, что содержится в этом элементе.
В отличие от :focus , который применяется непосредственно к самому элементу, правила :focus-within применяются к родительскому элементу, на который наведен фокус.
Создание выпадающего меню CSS с помощью :focus-within
Чтобы создать меню, мы начнем с базовой структуры HTML, подобной приведенной ниже:
На данный момент у нас будет показано только меню, но без рабочего выпадающего списка:
Причина, по которой нам нужно использовать tabindex="0" , заключается в том, что меню можно будет выбрать, когда пользователь перемещается. с клавиатурой.
Чтобы добавить раскрывающийся список, добавятся дополнительные правила, основанные на псевдоклассе
На этом этапе, если мы нажмем на меню, мы увидим, что раскрывающийся список работает.
Если бы у нас было всего .menu:focus > .menu-content раскрывающееся меню закрывалось бы при навигации по элементам из этого раскрывающегося списка. Поэтому необходимо использовать
:focus-within .
Ознакомьтесь с полным рабочим кодом здесь.
Добавление вложенных выпадающих меню
Одна приятная особенность этого подхода заключается в том, что мы можем просто включить HTML для подменю:
Ознакомьтесь с полным рабочим кодом здесь, а также здесь вы можете увидеть еще один пример того, как мы можем использовать фокус внутри с формами.
Браузер поддерживает :focus-within
В целом, браузер отлично поддерживает псевдокласс :focus-within , поэтому у нас не должно быть проблем с совместимостью.
Надеюсь, вам понравилась эта статья, и если вы хотите получать больше статей о React и разработке внешнего интерфейса, вы всегда можете подписаться на мою рассылку.
Подписка на рассылку:
15+ Выпадающее меню CSS (демонстрация с кодом)
РЕКЛАМА
Телеграмма Группа
Присоединяйтесь сейчас
РЕКЛАМА
Добро пожаловать в Codewithrandom с новым блогом, сегодня мы увидим более 15 раскрывающихся меню CSS с использованием HTML, CSS и JavaScript.
РЕКЛАМА
РЕКЛАМА
Давайте сначала разберемся, что такое раскрывающиеся меню.
В CSS раскрывающиеся меню используются для сокрытия определенного списка внутри кнопки. Чтобы сделать кнопку, нужен свой класс div, а еще один div требуется для разграничения списка ее содержимого.
РЕКЛАМА
Теперь мы увидим более 15 выпадающих меню CSS для более ясного понимания этой концепции.
РЕКЛАМА
1. Раскрывающееся меню на чистом CSS
Код по-
Сатиш Кумар
Демонстрация и загрузка
Нажмите здесь для получения кода
Используемый язык
HTML, CSS(SCSS)
Внешние ссылки\ Зависимости
№
Ответный
Да
Этот код представляет выпадающее меню с использованием HTML и SCSS.
РЕКЛАМА
2. Нажмите раскрывающееся меню CSS
Код-
Амли
Демонстрация и загрузка
Нажмите здесь для получения кода
Используемый язык
HTML(мопс), SCSS
Внешние ссылки\ Зависимости
Да
Ответный
Да
Этот код представляет собой очень креативное выпадающее меню, в основном с использованием CSS.
3. Меню #CodePenChallenge
РЕКЛАМА
Код-
Ахмед Наср
Демонстрация и загрузка
Нажмите здесь для получения кода
Используемый язык
HTML, SCSS
Внешние ссылки\ Зависимости
Да
Ответственный
Да
Этот код представляет уникальное раскрывающееся меню с использованием HTML и SCSS.
РЕКЛАМА
4. Простое выпадающее меню на чистом CSS
Код —
Коннор Брассингтон
Демонстрация и загрузка
Нажмите здесь для получения кода
Используемый язык
HTML, SCSS
Внешние ссылки\зависимости
Да
Ответный
Да
Этот код представляет выпадающее меню с использованием HTML и SCSS.
5. Главное меню #CodePenChallenge
Код-
Мохамед Айман
Демонстрация и загрузка
Нажмите здесь для получения кода
Используемый язык
HTML, SCSS
Внешние ссылки\ Зависимости
№
Ответный
Да
Этот код представляет выпадающее меню с использованием HTML и SCSS.
Более 100 проектов JavaScript с исходным кодом (от начинающих до продвинутых)0131 Код по-
Винсент Дюран
Демонстрация и загрузка
Нажмите здесь для получения кода
Используемый язык
HTML, SCSS
Внешние ссылки\ Зависимости
Да
Ответный
Да
Этот код представляет выпадающее меню с использованием HTML и SCSS.
РЕКЛАМА
7.
Расплавленное меню
РЕКЛАМА
Код-
Зеландия
Демонстрация и загрузка
Нажмите здесь для получения кода
Используемый язык
HTML, CSS
Внешние ссылки\ Зависимости
№
Ответный
Да
Этот код представляет собой очень креативное выпадающее меню с использованием HTML и CSS.
РЕКЛАМА
8. Адаптивное меню навигации Pure CSS
Code by-
Дженнинг
Демонстрация и загрузка
Нажмите здесь для получения кода
Используемый язык
HTML, Sass
Внешние ссылки\ Зависимости
№
Ответственный
Да
Этот код представляет выпадающее меню с использованием HTML и SCSS.
9. Концепция выпадающего меню Zigzag
Код-
Каталин Розу
Демонстрация и загрузка
Нажмите здесь для получения кода
Используемый язык
HTML, CSS
Внешние ссылки\ Зависимости
Да
Ответный
Да
Этот код представляет собой зигзагообразное выпадающее меню с использованием HTML и CSS.
10. Выпадающие меню
Код по-
Кевин
Демонстрация и загрузка
Нажмите здесь для получения кода
Используемый язык
HTML, SCSS
Внешние ссылки\ Зависимости
Да
Ответный
Да
Этот код представляет выпадающее меню с использованием HTML и SCSS.
10+ проектов Javascript для начинающих с исходным кодом
11.
Меню — градиентное меню
Код —
Халида Астатин
Демонстрация и загрузка
Нажмите здесь для получения кода
Используемый язык
HTML, CSS(меньше)
Внешние ссылки\ Зависимости
№
Ответный
Да
Этот код представляет градиентное меню с использованием HTML и CSS(Less)
12. Модное меню
Хесус Родригес
Демонстрация и загрузка
Нажмите здесь для получения кода
Используемый язык
HTML, SCSS
Внешние ссылки\ Зависимости
Да
Ответный
Да
Этот код представляет собой причудливое выпадающее меню с использованием HTML и SCSS.
13. Полоса, как только меню CSS
Код-
smpnjn
Демонстрация и загрузка
Нажмите здесь для получения кода
Используемый язык
HTML, CSS
Внешние ссылки\ Зависимости
№
Ответный
Да
Этот код представляет выпадающее меню с использованием HTML и CSS.
14. Навигация с дополнительной навигацией
Код по-
Кэссиди Уильямс
Демонстрация и загрузка
Нажмите здесь для получения кода
Используемый язык
HTML, SCSS
Внешние ссылки\ Зависимости
№
Ответный
Да
Этот код представляет раскрывающееся меню навигации и поднавигации с использованием HTML и SCSS.
15. Выпадающее меню на чистом CSS (без JavaScript)
Код —
Гарет МакКинли
Демонстрация и загрузка
Нажмите здесь для получения кода
Используемый язык
HTML, CSS
Внешние ссылки\ Зависимости
Да
Ответный
Да
Этот код представляет выпадающее меню без использования Javascript.