Я хотел бы предоставить отдельное поведение для браузеров, поддерживающих зависание (например, настольных браузеров), а также те, которые не работают (например, сенсорные устройства). В частности, я хочу объявить состояние зависания в браузерах, которые его поддерживают, но не для браузеров, которые этого не делают, чтобы избежать того, чтобы мобильные браузеры эмулировали его с помощью дополнительных кранов, так как это нарушает другие взаимодействия на странице - не определяя зависание для этих браузеров это можно избежать.
Я прочитал в функцию Interaction Media Queries, и похоже, что это должно сделать трюк. Я бы мог сделать что-то вроде:
@media (hover: none) {
/* behaviour for touch browsers */
}
В соответствии с CanIUse он доступен во всех браузерах, которые мне нужны для поддержки, кроме 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 */
}
}
Итак, есть ли способ сделать эту работу таким образом, или я ошибаюсь?