Heim  >  Artikel  >  Web-Frontend  >  Warum läuft mein Raster über, wenn ich „grid-template-columns“ mit Prozentsätzen verwende?

Warum läuft mein Raster über, wenn ich „grid-template-columns“ mit Prozentsätzen verwende?

Barbara Streisand
Barbara StreisandOriginal
2024-11-02 12:22:02556Durchsuche

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

Grid Overflows Body mit 100 % Grid-Template-Columns:

Beachten Sie den folgenden Code:

<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>

Wenn bei diesen Einstellungen die Position festgelegt ist, läuft das übergeordnete Div auf die rechte Seite des Körpers über. Das Problem liegt jedoch nicht an der Breite: 100 %, sondern an der Rastervorlage.

Lösung:

Das Problem tritt auf, weil die Rastervorlage das Verfügbare aufteilt Teilen Sie den Raum in 40 % und 60 % auf, so dass 5 Pixel für die Gitterlücke übrig bleiben. Dies liegt über 100 %. Um dieses Problem zu beheben, verwenden Sie stattdessen die fr-Einheit:

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

Mit dieser Änderung teilen die Spalten den verbleibenden Platz nach Berücksichtigung der 5-Pixel-Lücke auf. Das übergeordnete Div passt somit in den Körper, auch wenn die Position „fixed“ ist.

Das obige ist der detaillierte Inhalt vonWarum läuft mein Raster über, wenn ich „grid-template-columns“ mit Prozentsätzen verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn