Maison > interface Web > tutoriel CSS > Comment pouvons-nous éliminer les effets de survol persistant sur les boutons des appareils tactiles ?

Comment pouvons-nous éliminer les effets de survol persistant sur les boutons des appareils tactiles ?

Susan Sarandon
Libérer: 2024-11-10 13:44:02
original
621 Les gens l'ont consulté

How Can We Eliminate Sticky Hover Effects on Buttons for Touch Devices?

Prévenir les effets de survol persistant pour les boutons des appareils tactiles

L'état de survol persistant sur les boutons des appareils tactiles peut être une nuisance. Pour résoudre ce problème, diverses solutions ont été proposées, mais aucune ne semble pleinement satisfaisante. Une approche consiste à ajouter une classe « sans survol » sur l'extrémité tactile, mais cela a un impact négatif sur les performances et ne prend pas en compte les appareils hybrides. Une autre option consiste à ajouter une classe « tactile » au document, mais cela échoue également sur les appareils dotés à la fois de capacités tactiles et de souris.

La solution idéale : requêtes multimédia CSS niveau 4

Avec l'avènement des CSS Media Queries Niveau 4, une solution plus raffinée a émergé :

@media (hover: hover) {
    button:hover {
        background-color: blue;
    }
}
Copier après la connexion

Cette requête multimédia cible spécifiquement les navigateurs avec prise en charge du survol vrai/non émulé (par exemple, appareils dotés de mécanismes de saisie de type souris). Les boutons de ces navigateurs afficheront l'effet de survol bleu.

Polyfill pour les anciens navigateurs

Pour les navigateurs sans cette fonctionnalité, il existe un polyfill JavaScript qui peut simuler une véritable prise en charge du survol :

html.my-true-hover button:hover {
    background-color: blue;
}
Copier après la connexion

Le polyfill détecte les capacités de survol et active la classe "my-true-hover" en conséquence :

$(document).on('mq4hsChange', function (e) {
    $(document.documentElement).toggleClass('my-true-hover', e.trueHover);
});
Copier après la connexion

Cette combinaison de CSS et de JavaScript garantit que les effets de survol fonctionnent parfaitement sur les appareils tactiles modernes et existants.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal