recherche
Maisoninterface Webtutoriel CSSPourquoi mon image d'arrière-plan en plein écran saute-t-elle sur Mobile Chrome lorsque la barre d'adresse se cache ?

Why Does My Full-Screen Background Image Jump on Mobile Chrome When the Address Bar Hides?

Décalage de l'image d'arrière-plan sur la barre d'adresse Masquer dans iOS/Android/Mobile Chrome

Problème

Lors du développement d'un site Web réactif à l'aide de CSS, y compris un -image d'arrière-plan de l'écran qui pivote et s'estompe entre deux divs, un comportement inattendu se produit : l'image d'arrière-plan saute légèrement lors du défilement vers le bas sur iOS Safari, le navigateur Android ou Android Chromé. Ceci est dû au fait que la barre d'adresse se cache et ajuste par conséquent la taille des div d'arrière-plan, qui sont fixes et réglés à 100 % de hauteur.

Solution

Pour résoudre ce problème, deux solutions possibles existent :

  1. Réglez la hauteur #bg1 et #bg2 sur 100vh : Cette solution est théoriquement élégant, en utilisant la hauteur de la fenêtre pour définir la hauteur appropriée. Cependant, iOS a un bug vh qui affecte cette solution.
  2. Utilisez JavaScript pour définir une hauteur statique : La taille de la fenêtre d'affichage, lorsqu'elle est déterminée par JavaScript, n'est pas affectée par la barre d'adresse. Ainsi, JavaScript peut définir une hauteur statique pour les divs d'arrière-plan en fonction de la taille de la fenêtre d'affichage. Ce n'est pas une solution idéale en raison de sa nature CSS non pure et d'un léger saut d'image lors du chargement de la page, mais elle est viable compte tenu des bugs vh d'iOS.

L'utilisation du code JavaScript suivant ajustera l'arrière-plan hauteur dynamiquement :

var bg = $("#bg1, #bg2");

function resizeBackground() {
    bg.height($(window).height());
}

$(window).resize(resizeBackground);
resizeBackground();

Considérations supplémentaires

Bien que la solution ci-dessus empêche efficacement le redimensionnement de l'arrière-plan, elle peut provoquer un écart notable lorsque les utilisateurs font défiler vers le bas. Cet écart résulte de la correspondance de la hauteur de l'arrière-plan avec celle de l'écran moins la hauteur de la barre d'URL. En ajoutant 60 px à la hauteur, ce problème peut être résolu, mais cela signifie que les 60 px inférieurs de l'image d'arrière-plan ne seront pas visibles lorsque la barre d'URL est présente :

function resizeBackground() {
    bg.height( $(window).height() + 60);
}

Il est à noter que ces redimensionnements Les barres d'URL sur iOS et Android ont suscité des inquiétudes en raison de leur impact sur les fonctionnalités des sites Web. Bien que leur objectif soit compris, leur comportement peut entraîner des défis inattendus dans les conceptions basées sur CSS.

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
Qu'est-ce que CSS Grid?Qu'est-ce que CSS Grid?Apr 30, 2025 pm 03:21 PM

CSS Grid est un outil puissant pour créer des dispositions Web complexes et réactives. Il simplifie la conception, améliore l'accessibilité et offre plus de contrôle que les méthodes plus anciennes.

Qu'est-ce que CSS Flexbox?Qu'est-ce que CSS Flexbox?Apr 30, 2025 pm 03:20 PM

L'article traite de CSS Flexbox, une méthode de mise en page pour l'alignement et la distribution efficaces de l'espace dans les conceptions réactives. Il explique l'utilisation de Flexbox, la compare à la grille CSS et détaille la prise en charge du navigateur.

Comment pouvons-nous rendre notre site Web réactif à l'aide de CSS?Comment pouvons-nous rendre notre site Web réactif à l'aide de CSS?Apr 30, 2025 pm 03:19 PM

L'article traite des techniques de création de sites Web réactifs à l'aide de CSS, y compris des balises de méta de la fenêtre, des grilles flexibles, des médias fluides, des requêtes multimédias et des unités relatives. Il couvre également l'utilisation de la grille CSS et de Flexbox ensemble et recommande le cadre CSS

Que fait la propriété CSS Box-Sizizing?Que fait la propriété CSS Box-Sizizing?Apr 30, 2025 pm 03:18 PM

L'article traite de la propriété CSS-Box-Sizing, qui contrôle comment les dimensions des éléments sont calculées. Il explique des valeurs telles que la boîte de contenu, la boîte de bordure et la boîte de padding, et leur impact sur la conception de la disposition et l'alignement de la forme.

Comment pouvons-nous animer à l'aide de CSS?Comment pouvons-nous animer à l'aide de CSS?Apr 30, 2025 pm 03:17 PM

L'article discute de la création d'animations à l'aide de CSS, de propriétés clés et de combinaison avec JavaScript. Le principal problème est la compatibilité du navigateur.

Pouvons-nous ajouter des transformations 3D à notre projet en utilisant CSS?Pouvons-nous ajouter des transformations 3D à notre projet en utilisant CSS?Apr 30, 2025 pm 03:16 PM

L'article discute de l'utilisation de CSS pour les transformations 3D, les propriétés clés, la compatibilité du navigateur et les considérations de performances pour les projets Web. (Compte de caractère: 159)

Comment pouvons-nous ajouter des gradients dans CSS?Comment pouvons-nous ajouter des gradients dans CSS?Apr 30, 2025 pm 03:15 PM

L'article discute de l'utilisation des gradients CSS (linéaire, radial, répétant) pour améliorer les visuels du site Web, l'ajout de profondeur, de concentration et d'esthétique moderne.

Que sont les pseudo-éléments dans CSS?Que sont les pseudo-éléments dans CSS?Apr 30, 2025 pm 03:14 PM

L'article traite des pseudo-éléments dans CSS, de leur utilisation dans l'amélioration du style HTML et des différences par rapport aux pseudo-classes. Fournit des exemples pratiques.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft