Maison  >  Article  >  interface Web  >  Comment puis-je éliminer les CSS :hover indésirables sur les appareils tactiles ?

Comment puis-je éliminer les CSS :hover indésirables sur les appareils tactiles ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-27 11:34:30301parcourir

 How Can I Eliminate Unwanted :hover CSS on Touch-Enabled Devices?

Élimination :hover CSS sur les appareils tactiles

Lorsque les utilisateurs accèdent à des sites Web via des appareils tactiles, les déclarations CSS :hover peuvent devenir indésirables, car ils ne répondent pas efficacement aux entrées tactiles. Les utilisateurs peuvent rencontrer des effets de survol persistants qui peuvent être perturbateurs. Pour résoudre ce problème, plusieurs méthodes sont disponibles pour supprimer ou ignorer les styles :hover sur les appareils tactiles.

Suppression de JavaScript

Une approche consiste à utiliser JavaScript pour éliminer toutes les règles CSS. contenant :hover. Cette méthode est compatible avec les anciens navigateurs et ne nécessite pas de modifications CSS. En vérifiant si l'appareil prend en charge la saisie tactile et en parcourant les règles de style, JavaScript peut supprimer toutes les déclarations :hover.

Requêtes multimédias CSS uniquement

Une autre option utilise @ requêtes multimédias pour restreindre l'application des règles :hover uniquement lorsque l'appareil prend en charge le survol. Toutefois, cette méthode est limitée à iOS 9.0 et Chrome pour Android ou Android 5.0 pour WebViews. De plus, cela peut interrompre les effets de survol sur les appareils mixtes souris et tactiles.

Détection JS et pré-attente CSS

Une solution robuste consiste à détecter la saisie tactile à l'aide de JavaScript et à ajouter tout le préfixe : règles de survol avec une classe de corps personnalisée (par exemple, .hasHover). En appliquant cette classe de manière conditionnelle, les effets de survol ne sont activés que sur les appareils prenant en charge la souris.

Approche combinée du mouvement de la souris et de la détection tactile

La méthode la plus complète combine le mouvement de la souris détection et détection tactile. Les effets de survol sont activés lorsque le mouvement de la souris est détecté et désactivés lorsque la saisie tactile est reconnue. Cette approche offre une expérience transparente sur les appareils tactiles et compatibles avec la souris.

Implémentation pratique

Une implémentation pratique implique des écouteurs d'événements JavaScript et une manipulation de classe de corps. La classe hasHover est ajoutée ou supprimée dynamiquement en fonction des événements de saisie tactile et de mouvement de la souris.

Pour les navigateurs modernes, un exemple en direct peut être trouvé sur https://jsfiddle.net/57tmy8j3/. Une version héritée compatible avec les anciens navigateurs est disponible sur https://jsfiddle.net/dkz17jc5/19/.

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!

Déclaration:
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