Maison  >  Article  >  interface Web  >  Pourquoi ma grille déborde-t-elle lors de l'utilisation de « grid-template-columns » avec des pourcentages ?

Pourquoi ma grille déborde-t-elle lors de l'utilisation de « grid-template-columns » avec des pourcentages ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-02 12:22:02556parcourir

Why Does My Grid Overflow When Using `grid-template-columns` With Percentages?

La grille déborde du corps avec 100 % de colonnes de modèle de grille :

Considérez le code suivant :

<code class="css">.parent {
  position: fixed;
  width: 100%;
  left: 0;
  top: 14px;
  display: grid;
  grid-template-columns: 40% 60%;
  grid-gap: 5px;
  background: #eee;
}

.left {
  border: 2px solid red;
}

.right {
  border: 2px solid red;
}</code>
<code class="html"><div class='parent'>
  <div class='left'>LEFT</div>
  <div class='right'>RIGHT</div>
</div></code>

Avec ces réglages, si la position est fixe, le div parent déborde vers le côté droit du corps. Le problème, cependant, ne réside pas dans la largeur : 100 %, mais dans le modèle de grille.

Solution :

Le problème se produit parce que le modèle de grille divise les éléments disponibles espace en 40 % et 60 %, laissant 5 px pour l'espace de la grille. Cela dépasse 100%. Pour résoudre ce problème, utilisez plutôt l'unité fr :

<code class="css">.parent {
  grid-template-columns: 4fr 6fr;
}</code>

Avec ce changement, les colonnes diviseront l'espace restant après avoir pris en compte l'écart de 5 px. Le div parent s'intégrera ainsi dans le corps, même avec la position : fixe.

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