Как я могу получить выпадающее меню, которое использует наведение на сенсорный экран? - PullRequest
0 голосов
/ 29 апреля 2020

Это мой веб-сайт для школьного проекта, он предназначен для просмотра на телефоне. У меня есть раскрывающееся меню в верхней части, которое использует наведение, которое не работает на сенсорных устройствах. Мне нужно сделать эту работу с помощью нажатия (мне действительно все равно, работает ли зависание, мне нужно нажать), но я не знаю как. Как мне сделать это, нажав на сенсорном экране? Я действительно хочу пока держаться подальше от javascript и просто использовать HTML и CSS. Я очень новичок в веб-дизайне, поэтому мне нужно очень простое объяснение. Также я знаю, что мои изображения загружаются очень долго, любые предложения о том, как обращаться, также будут оценены.

Спасибо!

1 Ответ

0 голосов
/ 29 апреля 2020

Большинству сенсорных устройств не хватает способности вызывать истинное взаимодействие при наведении (за некоторыми исключениями могут быть Samsung Galaxy Note с ручкой, устройства Microsoft Surface с ручкой и iPad Pro с ручкой).

Тем не менее, касание элемента, который имеет псевдоселектор :hover со связанными стилями (как вы делаете), должно вызывать это событие при наведении курсора, даже в мобильных браузерах на сенсорных устройствах.

Вы просматривали свой сайт на сенсорном устройстве? Меню появляется, как и ожидалось, при нажатии на мой Google Pixel (с браузером Chromium), а также на моем устройстве Surface в режиме планшета.

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


Если вам нужно более принципиальное решение, я бы предложил сделать переключатель nav элемент <button> и выполнить некоторые основные c JavaScript для click событий. Я понимаю, что вы не хотите уходить на эту территорию прямо сейчас, но это именно тот случай использования, при котором JavaScript превосходит.


Если вы действительно хотите избежать JavaScript и вам не нравится полагаться на подход touch-invokes-hover-event, всегда есть взлом флажка. Как видно из названия, это взломать. Я бы не рекомендовал его для вашего конкретного случая использования. Но каждому свое.

Вот статья a CSS Об уловках по всем интересным применениям, к которой может быть применен флажок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...