Найти тему

Медиазапрос "hover" или как реализовать корректное взаимодействие с кнопкой

Оглавление

Привет! Сегодня мы поговорим о такой интересной штуке в веб-разработке, как медиазапрос "@media (hover)". Это полезная вещь для создания удобных сайтов. Давай разберемся, что это такое и зачем это нужно!

Что такое медиазапрос "@media (hover)"?

Когда мы создаём сайты, мы хотим, чтобы они хорошо выглядели и удобно работали на разных устройствах: компьютерах, планшетах, телефонах и так далее. Для этого нам помогают медиазапросы. Они позволяют изменять стиль сайта в зависимости от устройства, на котором он просматривается.

Медиазапрос "@media (hover)" проверяет, поддерживает ли устройство наведение мышки (то есть, можно ли навести курсор на элемент). Например, на компьютере с мышкой можно навести курсор, а на смартфоне с сенсорным экраном — нет.

Зачем это нужно?

Представь себе сайт с меню, которое раскрывается при наведении курсора. На компьютере это удобно, но на телефоне такое меню не сработает, ведь там нет курсора. Медиазапрос "@media (hover)" поможет нам сделать так, чтобы меню работало и на компьютере, и на телефоне.

Примеры использования

Давай посмотрим на несколько примеров, как можно использовать "@media (hover)".

1. Меню с подменю:

https://gist.github.com/mr-fedor/1c0e5e04abbd90a6a57d2a55423b912f
https://gist.github.com/mr-fedor/1c0e5e04abbd90a6a57d2a55423b912f

На компьютере подменю появится, когда наводишь курсор на пункт меню. А на телефоне подменю откроется при нажатии.

2. Изменение стилей при наведении/клике:

https://gist.github.com/mr-fedor/8f563f8d49438477698111f32f5a5ebb
https://gist.github.com/mr-fedor/8f563f8d49438477698111f32f5a5ebb

На компьютере кнопка поменяет цвет при наведении, а на телефоне при клике по ней.

Для любителей Sass

Для любителей Sass можно подготовить миксин и использовать следующим образом:

https://gist.github.com/mr-fedor/1a1b06ba53e59c03aa282001f8636ac6
https://gist.github.com/mr-fedor/1a1b06ba53e59c03aa282001f8636ac6

Заключение

Использование "@media (hover)" делает сайты более удобными и адаптивными для разных устройств. Это помогает нам создавать более продуманные интерфейсы, которые работают так, как нужно пользователю, независимо от того, с какого устройства он заходит.

Надеюсь, теперь тебе стало понятно, как это работает и зачем нужно. Пробуй использовать "@media (hover)" в своих проектах, и твои сайты станут ещё лучше!

Терпения и внимания к деталям в веб-разработке!