Résolution du problème de redimensionnement des éléments fixes lors du zoom sur l'écran tactile
Dans une page HTML, les éléments fixes avec des propriétés de hauteur et de position définies sont souvent redimensionnés lorsque les utilisateurs zoomez à l’aide d’un appareil à écran tactile. Ce comportement peut obstruer le contenu et diminuer l'expérience utilisateur souhaitée.
Solution :
Pour empêcher un élément spécifique d'être redimensionné pendant le zoom, nous pouvons utiliser une combinaison de JavaScript et Techniques CSS3 :
-
Détecter le geste de zoom : Ajoutez un écouteur d'événement pour surveiller l'événement « défilement » de la fenêtre, qui se déclenche lorsque l'utilisateur fait défiler ou zoome sur la page.
-
Calculer le facteur de zoom : Dans l'écouteur d'événements, déterminez le facteur de zoom en utilisant le rapport entre la largeur actuelle de la fenêtre d'affichage et la largeur initiale du document. Cela fournit un niveau de zoom relatif.
-
Appliquer la transformation CSS : Appliquez le facteur de zoom calculé à l'élément souhaité à l'aide de la propriété 'transform' de CSS3. Cette action ramène l'élément à sa taille d'origine dans la fenêtre agrandie, empêchant ainsi le redimensionnement.
-
Repositionnez l'élément : À mesure que le niveau de zoom change, la position de l'élément peut être affectée. Recalculez sa position à l'aide des décalages de page de la fenêtre et ajustez ses propriétés CSS « gauche » et « bas » en conséquence.
-
Considérez Transform-Origin : Déterminez le point d'ancrage à partir duquel l'élément doit être mis à l'échelle, en utilisant la propriété 'transform-origin' de CSS. Cela affecte le point de référence pour la mise à l'échelle.
En mettant en œuvre ces étapes, vous pouvez empêcher un élément fixe de se redimensionner sur les appareils à écran tactile tout en conservant sa position prévue et en présentant une expérience utilisateur optimale.
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!