Часто я нахожусь в ситуациях, когда мне нужно отображать меню при наведении, а меню мобильных устройств должно открываться по щелчку. Теперь, например, Рассмотрим следующий пример:CSS: hover /: focus vs click event on (mobile) touch devices
.btn {
width: 200px;
background-color: #333;
color: white;
padding: 10px;
}
.menu {
display: none;
padding: 15px;
}
.btn:hover .menu {
display: block;
}
.btn:focus .menu {
display: block;
}
<div class="btn">
Button
<div class="menu">I am menu</div>
</div>
Теперь это автоматически работает на мобильных устройствах, так как состояние при наведении липкий на сенсорных устройствах. Но этот хак применим ко всем сенсорным устройствам? То есть, стоит ли риск? Будет ли какое-то сенсорное устройство не обладать зависанием? Очевидно, что альтернативой является назначение событий touch/click с помощью JavaScript на сенсорных устройствах, но это кажется лишним, потому что я не видел сенсорного устройства, у которого нет липких состояний зависания?
Так что мой вопрос:
Можно ли использовать парение состояния хака или я должен использовать событие JavaScript, чтобы сделать его более пуленепробиваемый?
Я бы с ним, должно быть хорошо. – Roberrrt
@ Roberrrt Действительно, я всегда использовал этот подход в своей предыдущей работе, но теперь я немного подозрительно. – user31782
Должно быть хорошо. –