Как предотвратить эффект липкого наведения для кнопок на сенсорных устройствахCSS

Разбираемся в CSS
Ответить
Anonymous
 Как предотвратить эффект липкого наведения для кнопок на сенсорных устройствах

Сообщение Anonymous »

Я создал карусель с кнопками «Предыдущая» и «Следующая», которые всегда видны. Эти кнопки имеют состояние при наведении, они становятся синими. На сенсорных устройствах, таких как iPad, состояние наведения закреплено, поэтому после нажатия кнопка остается синей. Я этого не хочу.
  • Я мог бы добавить класс без наведения при касании для каждую кнопку и создайте
    мой CSS следующим образом: button:not(.no-hover):hover { background-color:
    blue; , но это, вероятно, очень плохо сказывается на производительности и не позволяет
    правильно работать с такими устройствами, как Chromebook Pixel (который имеет
    сенсорный экран и мышь).
    Я мог бы добавить класс touch в documentElement и сделать свой CSS
    следующим образом: html:not(.touch) button:hover { цвет фона: синий;
    Но это также не работает на устройствах с сенсорным экраном и
    мышью.
Что бы я хотел предпочтение — удаление состояния наведения при касании. Но не похоже, что это возможно. Фокусирование на другом элементе не удаляет состояние наведения. Нажатие на другой элемент вручную помогает, но я не могу вызвать это в JavaScript.

Все решения, которые я нашел, кажутся несовершенными. Существует ли идеальное решение?

Подробнее здесь: https://stackoverflow.com/questions/172 ... ch-devices
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «CSS»