Ответ
На десктопе :hover срабатывает при наведении курсора, а на мобильных устройствах — при касании элемента. Однако есть нюансы:
- На мобильных
:hoverможет остаться активным после касания (пока пользователь не коснётся другого элемента) - Для лучшей поддержки мобильных устройств часто используют комбинацию с
:activeили:focus
Пример:
.button:hover, .button:active {
background: blue;
}
Лучше использовать медиазапросы @media (hover: hover) для разделения логики:
@media (hover: hover) {
/* Стили только для устройств с поддержкой hover */
.button:hover {
background: blue;
}
}