Как грамотно разобраться с :hover при адаптации?

Взял в руки планшет и понял, что верстка косячная более, чем полностью - все кнопочки, ссылки и любые другие элементы, имеющие :hover, застывают в состоянии наведения при клике по ним.

И как-то сильно пугает мысль, что придется прописать еще тысячу строк кода ради того, чтобы нейтрализовать все ховеры.

Есть ли какой-то простой способ?
  • Вопрос задан
  • 537 просмотров
Пригласить эксперта
Ответы на вопрос 3
LenovoId
@LenovoId
svg, css,js
я есле не ошибаюсь на тач скринах нету понятия даже о hover эффекте , только click
Ответ написан
Лучше переписать, можно попробовать общий стиль прописать и задать ему !important (поверх всех стилей).
Ответ написан
pm_wanderer
@pm_wanderer
junior-HTML
Там все просто.
На тач устройствах некоторые браузеры (возможно даже все) обрабатывают ховер таким образом, что сохраняют стиль его отображения, пока не будет нажато что то еще.
Решить проблему можно либо через джаваскрипт, определяя тип браузера, или производя более сложные вычисления, отлавливая евенты типа ontouchstart на body и переопределяя стили для ховера(можно учесть гибридные устройства с мышкой и тач экраном, но тогда придется возвращать стили для ховера отслеживая onmousedown допустим)
Либо через css прописать все ховеры в медиазапросы, чтобы они например срабатывали только при ширине экрана устройства не менее 1280 пикселей (min-device-width: 1280px)
Это значение охватывает 95 процентов всех устройств, оставляя за бортом несколько моделей здоровых планшетов и гибридные ноутбуки с тач экраном (лично я считаю что нельзя все оптимизировать идеально, ибо нет предела совершенства, поэтому делаем как с древними браузерами - добиваемся хорошей работы на массовых системах, а все экзотическое пусть работает без свистелок, ховеров и градиентов)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы