Maison > interface Web > tutoriel CSS > Pourquoi « 100vw » provoque-t-il parfois un débordement horizontal inattendu ?

Pourquoi « 100vw » provoque-t-il parfois un débordement horizontal inattendu ?

Barbara Streisand
Libérer: 2024-12-07 10:08:12
original
787 Les gens l'ont consulté

Why Does `100vw` Sometimes Cause Unexpected Horizontal Overflow?

100vw provoquant un débordement horizontal inattendu

Lors de l'attribution d'une largeur de 100vw à un élément, vous pouvez vous attendre à ce qu'il occupe toute la largeur de la fenêtre d'affichage sans provoquant d'éventuels débordements. Cependant, dans certaines circonstances, des barres de défilement horizontales peuvent apparaître malgré l'utilisation de 100vw.

Considérons l'exemple suivant :

html, body {
  margin: 0;
  padding: 0;
}
.box {
  width: 100vw;
  height: 100vh;
}

<div class="box">Screen 1</div>
Copier après la connexion

Dans ce scénario, l'élément .box remplira l'écran sans aucune barre de défilement. Cependant, si vous ajoutez un deuxième élément .box en dessous du premier :

<div class="box">Screen 1</div>
<div class="box">Screen 2</div>
Copier après la connexion

Vous observerez l'apparition non seulement de barres de défilement verticales (attendues) mais également d'une légère barre de défilement horizontale.

La raison de ce comportement réside dans la manière dont 100vw est interprété par les navigateurs. Bien que cela signifie « 100 % de la largeur de la fenêtre », cela représente la partie visible de la fenêtre qui reste après avoir pris en compte l'épaisseur de la barre de défilement. Dans ce cas, la présence d'une barre de défilement verticale réduit la largeur de la fenêtre d'affichage disponible, ce qui peut provoquer un débordement horizontal du deuxième élément .box.

Pour résoudre ce problème, vous pouvez utiliser max-width: 100% sur le Élément .box :

.box {
  width: 100vw;
  height: 100vh;
  max-width: 100%;
}
Copier après la connexion

Cela garantira que l'élément ne dépasse jamais la véritable largeur de la fenêtre d'affichage, empêchant ainsi tout débordement horizontal potentiel.

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