Maison  >  Article  >  interface Web  >  Pourquoi une grille avec 100 % de colonnes de modèle de grille s'étend-elle au-delà du corps lors de l'utilisation d'un positionnement fixe ?

Pourquoi une grille avec 100 % de colonnes de modèle de grille s'étend-elle au-delà du corps lors de l'utilisation d'un positionnement fixe ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-02 09:07:02581parcourir

Why does a grid with 100% grid-template-columns extend beyond the body when using fixed positioning?

La grille dépasse le corps avec 100 % de colonnes de modèle de grille

Pourquoi une grille d'affichage avec 100 % de colonnes de modèle de grille s'étend-elle au-delà du corps lorsque la position est définie sur fixe ?

Problème :

Considérez le CSS et le HTML suivants :



< ;pre class="snippet-code-css lang-css Prettyprint-override">.parent {
position:fixed;
width:100%;
left:0;
top:14px ;
display:grid;
grid-template-columns:40% 60%;
grid-gap:5px;
background:#eee;
}
.left {
border:2px rouge uni;
}
.right {
border:2px rouge uni;
}
<div class='parent'><br> <div class='left'>LEFT</div><br> <div class='right'> DROITE</div><br></div>

Lorsque la position n'est pas fixe, la grille s'affiche correctement. Cependant, lorsque la position est définie sur fixe, la grille s'étend au-delà du corps sur le côté droit.

Solution :

Le problème ne réside pas dans la largeur à 100 % mais avec la propriété grid-template-columns. L'utilisation de pourcentages et d'un écart de grille fixe dépassera 100 % de l'espace disponible.

Comptez plutôt sur l'unité fr pour répartir l'espace libre proportionnellement, en tenant compte de l'écart de grille :



.parent {<br> position:fixe;<br> largeur:100%;<br>gauche:0 ;<br> top:14px;<br> display:grid;<br> grid-template-columns:4fr 6fr;<br> grid-gap:5px;<br> background:#eee;<br>}<br>.left {<br> border:2px rouge uni;<br>}<br>.right {<br> border:2px rouge uni;<br>}

<div class='parent'><br> <div class='left'>LEFT</div><br> <div class= 'right'>RIGHT</div><br></div>

En utilisant les unités fr, la grille répartira désormais correctement l'espace , en veillant à ce qu'il reste dans les limites du corps.

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