Heim >Web-Frontend >CSS-Tutorial >Wie erreicht man Spalten gleicher Breite im CSS-Raster?

Wie erreicht man Spalten gleicher Breite im CSS-Raster?

Linda Hamilton
Linda HamiltonOriginal
2024-11-05 10:22:02422Durchsuche

How to Achieve Equal-Width Columns in CSS Grid?

Spalten gleicher Breite im CSS-Raster

Flexbox hat für seine Fähigkeit, Elemente in Spalten gleicher Breite anzuzeigen, Anerkennung gefunden. Allerdings bietet CSS Grid auch flexible Layoutoptionen, was die Frage aufwirft, wie man den gleichen Effekt erzielen kann.

Die bereitgestellte HTML-Struktur enthält ein Zeilenelement mit mehreren untergeordneten Elementelementen. Das Ziel besteht darin, diese Elemente gleichmäßig über die Zeile zu verteilen, unabhängig von der Anzahl der vorhandenen Elemente.

Eine häufig vorgeschlagene Lösung für CSS Grid ist die Verwendung von „repeat(3, 1fr)“. Dadurch wird zwar teilweise der gewünschte Effekt erzielt, es kann jedoch fehlschlagen, wenn der Inhalt die Spurgröße überschreitet. Dies liegt daran, dass 1fr die Verteilung des verfügbaren Platzes angibt, was nicht in allen Fällen gleiche Spaltenbreiten garantiert.

Um eine genaue Gleichheit sicherzustellen, sollte stattdessen der folgende CSS-Code verwendet werden:

<code class="css">grid-template-columns: repeat(3, minmax(0, 1fr));</code>

minmax(0, 1fr) beschränkt die Rasterspuren auf eine minimale Größe von 0 und eine maximale Größe von 1fr. Dadurch wird sichergestellt, dass alle Spalten die gleiche Breite behalten, auch wenn der Inhalt überläuft.

Hier ist ein Beispiel, um den Unterschied zwischen „repeat(3, 1fr)“ und „repeat(3, minmax(0, 1fr)“ zu veranschaulichen:

<code class="html"><div class="container">
  <div class="row" style="grid-template-columns: repeat(3, 1fr)">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item overflow">Very long text that overflows the column</div>
  </div>

  <div class="row" style="grid-template-columns: repeat(3, minmax(0, 1fr))">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item overflow">Very long text that overflows the column</div>
  </div>
</div></code>

Mit „repeat(3, 1fr)“ bricht das Überlaufelement aus seiner Spalte aus. Im Gegensatz dazu sorgt „repeat(3, minmax(0, 1fr))“ dafür, dass alle Spalten gleich bleiben und der Überlaufinhalt unten sichtbar ist.

Das obige ist der detaillierte Inhalt vonWie erreicht man Spalten gleicher Breite im CSS-Raster?. 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