Медиа-запрос для устройств, поддерживающих зависание

Я хотел бы предоставить отдельное поведение для браузеров, поддерживающих зависание (например, настольные браузеры), и браузеров, которые не поддерживают (например, устройства с сенсорным экраном). В частности, я хочу объявить состояние наведения в браузерах, которые его поддерживают, но не в браузерах, которые этого не делают, чтобы избежать того, чтобы мобильные браузеры эмулировали его с помощью дополнительных нажатий, поскольку это нарушает другие взаимодействия на странице - без определения наведения состояния для этих браузеров этого избегают.

Я прочитал оИнтерактивные медиа-запросы особенность, и, похоже, это должно сработать. Я мог бы сделать что-то вроде:

@media (hover: none) {
  /* behaviour for touch browsers */
}

В соответствии сМогу ли я использовать он доступен во всех браузерах, которые мне нужно поддерживать, кроме IE11 и Firefox.

Поэтому я подумал, смогу ли я сделать это наоборот - поскольку все основные сенсорные устройства поддерживают его, затем отрицаем его:

@media not (hover: none) {
  /* behaviour for desktop browsers */
}

Тем не менее, это, похоже, не работает вообще.

Пример псевдокода того, что я пытаюсь сделать:

.myelement {
  /* some styling */
  /* note: no hover state here */
}
@media(this device supports hover) {
  .myelement:hover {
    /* more styling */
  }
}

Итак, есть ли способ сделать эту работу так, как задумано, или я ошибаюсь?

Ответы на вопрос(5)

Ваш ответ на вопрос