Heim > Web-Frontend > CSS-Tutorial > So verwenden Sie die CSS Grid repep () -Funktion

So verwenden Sie die CSS Grid repep () -Funktion

尊渡假赌尊渡假赌尊渡假赌
Freigeben: 2025-02-08 11:54:10
Original
258 Leute haben es durchsucht

So verwenden Sie die CSS Grid repep () -Funktion

In diesem Artikel werden wir alle Möglichkeiten der CSS Grid Repect () -Funktion untersuchen, mit denen wir Muster von Gitterspalten und Zeilen effizient erstellen und sogar reaktionsschnelle Layouts ohne Medienfragen erstellen können.

Key Takeaways

  • Die Funktion `repep ()` vereinfacht die Erstellung von Gittermustern und ermöglicht die Spezifikation der Anzahl der Spalten oder Zeilen und deren Größen in prägnanter Weise, wodurch die Lesbarkeit und Effizienz der Code verbessert wird.
  • Es unterstützt verschiedene Größenoptionen wie feste Längen (`px`,` em`, `%`, `fr`), inhaltsbasierte Keywords (` min-content`, `max-content`) und flexibel `auto` keyword, die vielseitig im reaktionsabwende ist.
  • Die Funktion kann sich in Schlüsselwörter "automatisch" und `auto-fill" integrieren, um die Anzahl der Gitterspuren automatisch anhand der Breite des Containers anzupassen, was für die Erstellung von flüssigen, reaktionsschnellen Layouts ohne Medienanfragen entscheidend ist.
  • Verwenden von `minmax ()` Innerhalb `repep ()` bietet eine leistungsstarke Möglichkeit, einen Bereich für Spurgrößen zu definieren und sicherzustellen, dass sich der Inhalt reibungslos an verschiedene Ansichtsfenster -Größen anpasst.
  • genannte Linien können in `repep ()` definiert werden, wobei die genaue Platzierung von Gitterartikeln unterstützt und die Wartbarkeit der Gitterstruktur verbessert wird.
  • `repep ()` kann nicht in sich selbst verschachtelt werden, aber es kann neben anderen Werten und Funktionen verwendet werden, um komplexe und reaktionsschnelle Gitterlayouts effizient zu erstellen.

wiederholen Sie sich nicht () selbst

Die Eigenschaften der Gitter-Template-Säulen und Grid-Template-Reihen ermöglichen es uns, die Anzahl der gewünschten Zeilen und Spalten in einem Raster explizit festzulegen und anzugeben, wie sie angrenzt werden sollen. Dies kann sich wiederholt, wenn wir möchten, dass mehrere Zeilen und/oder Spalten auf die gleiche Weise dimensioniert werden.

Die Funktion repep () kann uns vor der Wiederholung speichern. Zum Beispiel könnten wir Folgendes schreiben:

<span>grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Stattdessen können wir Folgendes schreiben:

<span>grid-template-columns: repeat(5, 1fr);
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

im obigen Beispiel ermöglicht uns mit der Funktion prepe (), wie viele Spalten wir wollen (5) und welche Größe sie alle haben sollten (1FR - oder ein Bruchteil des verfügbaren Raums).

Dies macht unseren Code effizienter und einfacher zu lesen. Und dies ist nur ein einfaches Beispiel. Wie wir unten sehen werden, können wir viel mehr mit der Funktion repep () ausmachen.

Der folgende Stift zeigt eine einfache Demo des obigen Codes. Ein Artikel mit zehn Divs ist in fünf Spalten organisiert.

Siehe den Stift CSS Grid Repeat (): 5 einfache Spalten von SitePoint (@sinepoint) auf Codepen.

Die obige Demo verwendet die CSS -Gap -Eigenschaft. Um mehr über das Grid -Layout zu erfahren, lesen Sie unseren Anfänger -Leitfaden zu CSS Grid.

Optionen für die Funktion repep ()

Wir können in den Klammern von Repeat () ziemlich viel in den Klammern tun. Es braucht zwei Argumente, die durch ein Komma getrennt sind. Der erste repräsentiert die "Count", und das zweite repräsentiert die "Tracks": Wiederholung (, ). (Das Wort "Track" ist ein generischer Name für eine Spalte oder eine Zeile.)

Das Zählargument kann eines von drei Dingen sein:

  • eine Zahl (z. B. 1, 2, 3)
  • das automatische Schlüsselwort
  • Das Keyword des automatischen Fills

Eindeutig legt ein Zahlenwert eine bestimmte Anzahl von Tracks fest. Auto-Fit und Auto-Fill ermöglichen jedoch je nach verfügbarem Raum unterschiedliche Anzahl von Tracks. Dies macht sie für reaktionsschnelle Layouts ohne Medienanfragen sehr praktisch. Wir werden sie unten ausführlich untersuchen.

Das Argument der Spuren gibt die Tracks an, die wiederholt werden. Dies sind die Optionen für dieses Argument:

  • Ein Längenwert unter Verwendung von Einheiten wie FR, PX, EM, % und Ch
  • Das Keyword von Min-In-In-Konten
  • Das Keyword von Max-Inhalt
  • Das automatische Schlüsselwort
  • Die Funktion minmax (), die selbst eine verschachtelte min () oder max () -Funktion
  • haben kann
  • Die Funktion fit-content ()
  • genannte Zeilen

Wie Sie sehen, gibt es viele mögliche Optionen für dieses Argument und sie können etwas verwirrend aussehen, insbesondere wenn einige von ihnen kombiniert werden. Wir werden versuchen, die Dinge hier ziemlich einfach zu halten, damit wir uns nicht im Unkraut verlieren. In den meisten Fällen ist das Argument der Spuren ziemlich einfach und intuitiv.

Setzen Sie Gruppen von Spalten mit repualt ()

ein

Bevor wir die verschiedenen Argumente untersuchen, die mit Repect () verwendet werden können, ist es erwähnenswert, dass Repeat () verwendet werden kann, um Muster von Spalten zu erstellen.

Betrachten Sie beispielsweise diesen „Longhand“ -code für ein sechsspaltiges Netz:

<span>grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wir können dies so umschreiben, wie dies mit repuola ():

<span>grid-template-columns: repeat(5, 1fr);
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dies fordert den Browser an, ein Muster dreimal zu wiederholen - einer spalten Spalte 1FR, gefolgt von einer Spalte 2FR breit. Die folgende Demo zeigt dies in Aktion.

Siehe den Stift CSS Grid Repeat (): Säulenmuster von SitePoint (@sinepoint) auf Codepen.

Verwenden von Längenwerten mit repualt ()

Wir haben bereits einen Längenwert von 1FR gesehen, der mit Repeat () verwendet wurde. Der Vorteil der FR -Einheit besteht darin, dass sie nach dem verfügbaren Platz nach den Grüßen entspricht, ohne dass wir uns Sorgen machen müssen, wie viel Platz verfügbar ist. Wir können aber auch andere Längeneinheiten verwenden, in denen wir sie brauchen.

setzen wir beispielsweise drei Spaltenspuren ein und geben Sie ihnen eine Breite von 120 Pixel:

<span>grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Die folgende Codepen -Demo zeigt das Ergebnis.

Siehe den Stift CSS Grid Repeat (): Längenwerte von SitePoint (@sinepoint) auf Codepen.

Die Spalten haben jetzt eine feste Breite, die sich nicht ändert, selbst wenn der Behälter zu eng ist. Versuchen Sie, mit der Browserbreite im oberen Stift herumzuspielen. Versuchen Sie auch, Pixel gegen andere Längeneinheiten wie 5EM, 10Ch, 15%usw. auszutauschen, um ihren Effekt zu sehen.

Verwenden des Keywords mit min-kontentieren mit repualt ()

Das Keyword von Mincontent setzt einen Track so breit oder groß wie der minimale Inhalt. In der folgenden Demo haben wir drei Spalten, von denen jede auf Min-In-In-In-Konzent gesetzt ist, sodass jede Spalte so breit ist wie das längste Wort, das sie enthält:

<span>grid-template-columns: repeat(5, 1fr);
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Siehe den Stift CSS Grid Repect (): Min-In-In-In-In-In-In-Konzent von SitePoint (@sinepoint) auf Codepen.

Verwenden des Keywords des Max-Inscontent mit repualt ()

Das Keyword von Max-In-Inhalts-Schlüsselwort basiert im Grunde genommen das Gegenteil von Mincontent: Es basiert die Spurgröße auf der größten Menge an Inhalten in einer Gitterzelle. In der folgenden Demo basieren die Spaltenbreiten auf der Zelle mit dem größten Inhalt:

<span>article {
</span>  <span>grid-template-columns: 1fr 2fr 1fr 2fr 1fr 2fr;
</span><span>}
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Siehe den Stift CSS Grid Repeat (): Max-Inhalt von SitePoint (@sinepoint) auf Codepen.

Verwenden des automatischen Schlüsselworts mit repuola ()

Bei der Verwendung mit repep () ist das automatische Schlüsselwort maxes bei Max-in-in-Inhalt und Mins bei Min-In-In-In-In-In-In-Konzert.

Betrachten Sie das folgende Muster von Spalten:

<span>article {
</span>  <span>grid-template-columns: repeat(3, 1fr 2fr);
</span><span>}
</span>
Nach dem Login kopieren
Nach dem Login kopieren

Hier haben wir sechs Spalten, die jeweils ungerade einen auf eine Breite des Auto-Autos einstellen. In der folgenden Codepen-Demo können wir sehen, dass die Divs mit dem „automatischen“ Text Max bei Max-Incontent und den 1FR-Divs den verbleibenden Raum teilen. Wenn sich der Browser verengt, werden die Autospalten weiter schmaler, bis sie den Schwellenwert der Minenabrechnung erreichen.

Siehe den Stift CSS Grid Repeat (): Auto von SitePoint (@sitepoint) auf Codepen.

In der obigen Demo beginnen die Divs nur, den Container zu überfließen, sobald jede Spalte ihren Min-In-Intensiva-Schwellenwert erreicht hat. (Das heißt, der Text kann nicht weiter wickeln.)

Hinweis: Auto scheint sich nur wie oben beschrieben zu verhalten, wenn sie mit anderen Werten gemischt werden. Allein - wie Wiederholung (3, Auto) - verhält es sich genauso wie wir Wiederholung (3, 1fr).

Verwenden der Funktion minmax () mit repualt ()

Die Funktion minmax () nimmt zwei eigene Argumente auf - ein Mindest- und Maximalwert, das durch ein Komma getrennt ist. Mit Minmax () können wir also eine Reihe möglicher Größen für Tracks in einer flexiblen Umgebung festlegen.

Zum Beispiel könnten wir eine Spalte auf Minmax (40px, 100px) einstellen, was bedeutet, dass die minimal mögliche Breite 40px beträgt und die maximal mögliche Breite 100px beträgt.

Beide Argumente von minmax () können Längenwerte wie FR, PX, EM, % und CH sowie MIN-Content, Max-In-Content und Auto annehmen. Es ist jedoch am besten, einen Längenwert für mindestens ein Argument zu verwenden, da die Keywords nicht als beide Argumente funktionieren sollen (obwohl ich dies manchmal funktioniert-wie Minmax (Min-In-Content, Max-in-in-In-Inhalt)).

Der folgende Code legt fünf Spalten mit jeweils eine minimale Breite von 60px und eine maximale Breite von 1FR:

fest:

<span>grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Siehe den Stift CSS Grid Repeat (): minmax () von sitepoint (@sinepoint) auf Codepen.

Dies funktioniert gut, bis die Mindestbreite von 60px erreicht ist. Danach beginnt der Inhalt aus seinem Behälter abzuhängen. Wir werden sehen, wie wir bald ein besseres Ergebnis erzielen können.

Verwenden der Funktion minmax () mit min () oder max ()

Die Funktion minmax () kann auch entweder die Funktion min () oder max () als Argument haben. Beide nehmen zwei Werte an. Die min () -Funktion gilt, je nachdem, was auch immer der kleinere seiner beiden Werte ist, und die MAX () -Funktion gilt, je nachdem, welcher Wert der größere Wert ist. Dies ist nützlich in reaktionsschnellen Umgebungen.

zum Beispiel:

<span>grid-template-columns: repeat(5, 1fr);
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Siehe den Stift CSS Grid Repeat (): minmax () Funktion mit min () von sitepoint (@sinepoint) auf Codepen.

Der obige Code legt fünf Spalten fest. Auf breiten Browsern sind die fünf Spalten gleichermaßen bei 1FR verteilt. Auf schmaleren Geräten werden die Spalten enger und schmaler. Sie werden aufhören zu schrumpfen, sobald sie den niedrigeren 60px und 8 VW getroffen haben. Wir können uns also immer noch mit Inhalten befinden, die auf schmalen Bildschirmen aus dem Behälter hängen. Es gibt noch weiter, um voll und ganz zu reagieren.

Wenn Sie die Kombination von minmax (), min () und max () in diesem Stadium etwas überwältigend finden, bleiben Sie dort, da ihre wirkliche Kraft unten zu sehen ist, wenn wir automatisch und automatisch treffen. füllen.

Verwenden der Funktion für fit-content () mit repualt ()

Die Funktion für fit-content () nimmt ein einzelnes Argument an, das die maximale Größe darstellt, zu der eine Spur wachsen kann. Der Track kann also bis zu diesem Punkt flexibel sein. Fit-Content () kann einen beliebigen Längenwert wie FR, PX, EM, % und Ch. nehmen

Wenn wir beispielsweise drei Spalten und Fit-Content (120px) festlegen, reagieren die Spaltenbreiten bis zu einer Breite von 120px:

<span>grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Siehe den Stift CSS Grid Repeat (): Fit-Content () von SitePoint (@sinepoint) auf Codepen.

Verwenden Sie benannte Zeilen mit repualt ()

Im Gitterlayout sind die vertikalen und horizontalen Linien um Spuren standardmäßig nummeriert. Beim Einstellen von Raster-Template-Säulen und Raster-Template-Reihen können wir diesen Zeilen Namen geben. Dies erleichtert es, diese Zeilen zu zielen, wenn Sie Inhalte in das Netz platzieren (da wir nicht hineingehen und die Netzlinien zählen müssen).

Hier ist ein einfaches Beispiel. Die genannten Linien sind die Bits in quadratischen Klammern ([]):

<span>grid-template-columns: repeat(5, 1fr);
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Der obige Code enthält uns zwei Spalten. Die links vertikale Gitterlinie (Nummer 1) wird als „Seitenleiste“ bezeichnet, die mittlere Gitterlinie (Nummer 2) wird als „Inhaltsstart“ bezeichnet und die endgültige Gitterzeile (Nummer 3) wird als "Inhaltsende" bezeichnet.

können wir auch benannte Zeilen in unserer Funktion repep () verwenden:

<span>article {
</span>  <span>grid-template-columns: 1fr 2fr 1fr 2fr 1fr 2fr;
</span><span>}
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Dies bedeutet, dass jede unserer Spalten jetzt eine Linie links als Yin und eine Linie rechts, die Yang bezeichnet hat, hat.

So verwenden Sie die CSS Grid repep () -Funktion

Es scheint das Leben schwieriger zu machen, wenn jede Zeile denselben Namen hat, aber wir können sie trotzdem einzeln ansprechen. Zum Beispiel:

    Wir können die erste Yin-Linie mit Grid-Säule ansprechen: Yin
  • Wir können die zweite Yin-Linie mit der Gittersäule ansprechen: Yin 2
  • Wir können eine Spalte auf drei Zeilen aus der zweiten Yin-Linie einstellen: Gittersäule: Yin 2 / Span 3
  • Wir können eine Spalte von dem zweiten Yin bis zum Ende mit Gittersäule einstellen: Yin 2 / yang -1
nennen Zeilen innerhalb von repualt () ist wahrscheinlich am nützlichsten, wenn repep () mit anderen Werten gemischt wird, wie SO:

<span>article {
</span>  <span>grid-template-columns: repeat(3, 1fr 2fr);
</span><span>}
</span>
Nach dem Login kopieren
Nach dem Login kopieren

So verwenden Sie die CSS Grid repep () -Funktion

Ich werde mich nicht weiter in benannte Zeilen eintauchen und wie man sie hier verwendet, da es sich um ein separates Thema handelt, aber Sie können mehr über benannte Grid -Linien auf MDN lesen.

Verwenden Sie repuolt () mit automatisch und automatischer Fill

Die Schlüsselwörter für automatische und automatische Füllung sind Alternativen zum Einstellen einer festen Anzahl von Tracks. Sie fordern den Browser an, so viele Spuren in einen bestimmten Raum zu passen. Zum Beispiel:
<span>grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Siehe den Stift CSS Grid Repeat (): Auto-Fit und Auto-Fill von SitePoint (@sinepoint) auf Codepen.

In der obigen Demo sind Divs auf eine Breite von 150px gesetzt, und diejenigen, die nicht in eine Zeile passen, fallen auf die nächste. Wenn wir automatisch in die automatische Füllung wechseln, sehen wir keinen Unterschied, da sie unter diesen Bedingungen beide dasselbe tun. Die Unterschiede zwischen ihnen werden nur unter besonderen Umständen offensichtlich.

Zu diesem Zeitpunkt ist automatisch zu automatisch Fill okay

, aber nichts besonders Blitz. Wenn sie mit Minmax () und min () kombiniert werden, beginnt die wahre Magie. Schauen wir uns das nächste Mal an.

Verwenden von repuolt () mit automatisch-fit/automatisch, minmax () und min ()

Wenn Sie noch nicht in Repeat () verliebt sind, wird die Kombination von Repeat () mit Auto-Fit, Minmax () und Min () sicherlich Cupids Pfeil Ihr hartnäckiges Herz durchstechen. Mit ihrer Kombination können wir wirklich reaktionsschnelle Layouts ohne die Verwendung von Medienfragen erstellen.

mit automatisch und minmax () mit repuolt ()

verwenden

Betrachten Sie das folgende CSS:
<span>grid-template-columns: repeat(5, 1fr);
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

In diesem Beispiel legt Minmax () eine minimale Spaltenbreite von 200px und maximal 1FR fest. Die folgende Demo zeigt dies in Aktion.

Siehe den Stift CSS Grid Repeat (): automatisch und minmax () von sitepoint (@sinepoint) auf Codepen.

Jedes Div muss mindestens 200px breit sein. Wenn rechts zusätzlichen Platz vorhanden ist (weniger als 200 Pixel), dehnen sich die Divs aus, um den Platz zu füllen. Wenn wir den Browser erweitern, wird in der Reihe ein weiteres Div hinzugefügt, sobald weitere 200 Pixel Platz verfügbar sind. Das Gleiche passiert umgekehrt: Wenn wir den Browser eingrenzen, fällt die letzte Div in der Reihe fallen, wenn es nicht mindestens 200 Pess Platz gibt, in das er passt. Und sobald es gesunken ist, erweitern sich die verbleibenden Divs, um die Reihe zu füllen.

Wenn wir erneut automatisch gegen die automatische Fill tauschen, sehen wir dasselbe Verhalten.

Es gibt jedoch eine Einschränkung mit diesem Beispiel. Wenn wir das Browserfenster so eng genug machen, werden wir eine einzige Spalte haben. Da diese Spalte schmaler wird als 200px, werden die Divs ihren Container überlaufen.

So verwenden Sie die CSS Grid repep () -Funktion

Wir können verhindern, dass dieser Überlauf min () in die Mischung bringt. Schauen wir uns das nächste Mal an.

mit automatischem Fit, minmax () und min () mit repualt ()

Wir können steuern, was bei kleinen Breiten passiert, indem wir min () einführen. Lassen Sie uns unseren Code aktualisieren, um so auszusehen:

<span>grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Jetzt gibt es zwei Optionen für die minimale Spaltenbreite. Der Browser wählt , je nachdem, welcher der kleinste ist. Sobald die Spalte schmaler als 200px ist, ist 100% der kleinere Wert, sodass sie sich durchsetzt. Und dies bedeutet, dass die einzelne verbleibende Spalte jetzt auf Breite eingestellt ist: 100%, sodass sie weiterhin gut in ihren Behälter passt, wenn sie immer abnehmende Breiten abnehmen. (Drücken Sie das Browserfenster so weit wie möglich nach unten, um dies in der Praxis zu sehen.)

Siehe den Stift CSS Grid Repeat (): minmax () und min () von sitepoint (@sinepoint) auf Codepen.

Für eine reale Demo der Verwendung von Repeat () mit automatischem Fit, Minmax () und Min () finden Sie die folgenden Codepen-Demo einer reaktionsschnellen Bildergalerie. Diese Demo nutzt auch die Aspekt-Verhältnis-Eigenschaft, die wir mit der Verwendung von CSS-Aspektverhältnissen behandelt haben.

Siehe den Stift Responsive Bildergalerie mit Aspektverhältnis von SitePoint (@sinepoint) auf Codepen.

Verständnis des Unterschieds zwischen automatischem und automatischem Fill

In den Beispielen, die wir bisher gesehen haben, scheint es keinerlei Unterschied zwischen automatischer und automatischer Fill zu geben. Der Unterschied erscheint nur in bestimmten Situationen, die wir jetzt kurz behandeln werden.

wir werden unsere Demo -HTML so ausziehen, dass es nur vier Divs gibt, und das folgende CSS festlegen:

<span>grid-template-columns: repeat(5, 1fr);
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Das Bild unten zeigt, was wir mit automatischer Fill bekommen.

So verwenden Sie die CSS Grid repep () -Funktion

Der Browser berechnet, wie viele Divs in den Behälter passen und ihnen Platz verlässt. Jedes der vorhandenen Divs ist 110px breit, ebenso wie die Räume nach rechts.

Lassen Sie uns zu automatischem Wechsel wechseln:

<span>article {
</span>  <span>grid-template-columns: 1fr 2fr 1fr 2fr 1fr 2fr;
</span><span>}
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Das Bild unten zeigt, was wir mit automatischem Fit bekommen.

So verwenden Sie die CSS Grid repep () -Funktion

Mit automatischem Fit berechnet der Browser auch Platz für mehr Divs, bricht jedoch diesen Platz auf null Breite ein und lässt die vorhandenen Divs erweitern, um den gesamten Platz zu nutzen. Im obigen Bild sehen Sie, dass die Spaltenzeile der Endung noch 8 nummeriert ist. Die 8 ist über den Gitterzeilen 7, 6 und 5 gestapelt.

Was sollen wir von all dem machen? Realistisch gesehen möchten wir in den meisten, wenn nicht allen Umständen, dass wir automatisch angemessen werden möchten, da wir nicht oft der Platz haben wollen, dass Platz leer bleibt, wenn wir ihn für unseren Inhalt verwenden könnten.

Sie können in dieser Codepen-Demo mit automatischer und automatischer Füllung herumspielen. Versuchen Sie, automatisch in die automatische Füllung zu wechseln und den Browser zu vergrößen und zusammenzuziehen, um zu sehen, wie sich beide verhalten.

nützliche Dinge, die Sie über repuolt ()

wissen sollten

Wie oben erwähnt, kann die Funktion repuple () als Teil einer längeren Deklaration mit Raster-Template-Säulen und Gitter-Template-Reihen verwendet werden. Die meisten Freunde, die wir hier kennengelernt haben-Längeneinheiten, Mincontent, Max-Content, Auto, Minmax (), Fit-Content () und Named Lines-arbeiten zusammen mit Repeat () sowie darin. (Sie können Beispiele dafür sehen

Einige Kombinationen sind für das Track -Argument nicht zulässig. Zum Beispiel können wir so etwas wie Wiederholung nicht verwenden (automatisch, 1FR). Auto-fit und flexible Einheiten können nicht zusammen spielen, da wir dort irgendwo ein festes Maß benötigen, wie z. B. Minmax (100px, 1fr).

Wie wir gesehen haben, kann die Funktion minmax () entweder eine verschachtelte min () oder max () -Funktion haben. Es kann auch einen von Auto, Min-In-Incontent, Max-Inhalt enthalten, jedoch nicht von zwei. Zum Beispiel konnten wir Minmax (50px, Max-in-in-Konzent), aber nicht Minmax (Min-In-Content, Max-In-Inhalt) verwenden (obwohl ich ehrlich gesagt habe, dass einige dieser Kombinationen

do do scheinen sowieso zu funktionieren).

Die Wiederholung () Notation kann nicht verschachtelt werden. Wir können also keine Wiederholung () innerhalb einer Wiederholung () haben. Aber wir können sicherlich wiederholen () Funktionen nebeneinander - wie Wiederholung (5, 1FR) 100px Repeat (2, 50px).

einpacken

Die Funktion repep () ist ein unglaublich nützliches Werkzeug, um wiederholte Muster von Gittersäulen und Zeilen herauszulegen. Es kann verwendet werden, um vollständig reaktionsschnelle Layouts ohne Medienabfragen in einer einzigen Codezeile zu erstellen.

In den meisten Fällen müssen Sie mit Repeat () nicht zu weit im Unkraut zu weit gehen. Die beeindruckendste Funktion wird in einem einfachen Beispiel wie folgt zusammengefasst:

<span>grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Stellen Sie sicher

Sie können hier mehr über die Funktion repep () erfahren:

    Die Seite repep () auf mdn
  • Der Abschnitt repep () des W3C -Gitterlayout -Modulspezifikation

Für eine allgemeinere Einführung in das CSS -Gitterlayout finden Sie eine Einführung in die CSS -Gitterlayouts.

häufig gestellte Fragen (FAQs) zur Wiederholungsfunktion von CSS Grid

Was ist der Unterschied zwischen der Verwendung der Wiederholungsfunktion und der manuellen Angabe der Gitterspuren in CSS -Gitter? Anstatt jede Spur manuell anzugeben, können Sie die Wiederholungsfunktion verwenden, um die Anzahl der Spuren und ihre Größe auf einmal zu definieren. Dies erleichtert Ihr Code sauberer und leichter zu lesen. Anstatt beispielsweise "Grid-Template-Säulen: 100px 100px 100px 100px" zu schreiben; Beide Codes erstellen ein Gitter mit jeweils vier Spalten der 100px -Breite.

Kann ich die Wiederholungsfunktion mit verschiedenen Spurgrößen verwenden? Die Wiederholungsfunktion akzeptiert zwei Argumente: die Anzahl der Wiederholungen und die Spurgröße. Wenn Sie ein Gitter mit Spuren verschiedener Größen erstellen möchten, können Sie die Wiederholungsfunktion mehrmals in derselben Eigenschaft verwenden. Zum Beispiel "Grid-Template-Säulen: Wiederholung (2, 100px) Wiederholung (3, 200px)"; Erstellt ein Raster mit zwei Spalten von 100px und drei Spalten von 200px. Funktion zum automatischen Füllen des Gitterbehälters mit so vielen Tracks, wie er passen kann. Die Größe der Spuren wird als zweites Argument der Wiederholungsfunktion angegeben. Wenn die Größe des Containers die Gesamtgröße der Spuren überschreitet, wird der verbleibende Raum gleichermaßen auf die Spuren verteilt. Zum Beispiel "Grid-Template-Säulen: Wiederholung (Auto-Fill, 100px); Erstellt so viele 100px -Spalten, wie es in den Container passen kann.

Kann ich die Wiederholungsfunktion mit fraktionalen Einheiten (FR) verwenden? fr). Die FR -Einheit stellt einen Bruchteil des verfügbaren Raums im Rasterbehälter dar. Zum Beispiel "Grid-Template-Säulen: Wiederholung (3, 1fr)"; Erstellt ein Raster mit drei Spalten, die jeweils ein Drittel der Breite des Containers aufnehmen. Mit der Wiederholungsfunktion, um ein reaktionsschnelles Gitterlayout zu erstellen. Es funktioniert ähnlich wie automatisch, aber es bricht alle leeren Spuren zusammen. Dies bedeutet, dass sich die verbleibenden Tracks, wenn nicht genügend Inhalte vorhanden sind, um alle Tracks zu füllen, um den verfügbaren Speicherplatz einzunehmen. Zum Beispiel "Grid-Template-Säulen: Wiederholung (automatisch, minmax (100px, 1fr)); Erstellt so viele 100px -Spalten, wie sie in den Container passen können, und jeder verbleibende Platz wird zwischen den Spalten verteilt.

Kann ich die Wiederholungsfunktion mit der Minmax -Funktion verwenden? Die Minmax -Funktion definiert einen Größenbereich, der mehr oder gleich dem Minimum und weniger als oder gleich dem Maximum ist. Zum Beispiel "Grid-Template-Säulen: Wiederholung (3, Minmax (100px, 1fr)); Erstellt ein Gitter mit drei Spalten, die jeweils eine minimale Breite von 100px und eine maximale Breite von 1FR haben.

Was passiert, wenn ich die Wiederholungsfunktion mit einer negativen Zahl verwende? Die Wiederholungsfunktion mit einer negativen Zahl, der Browser ignoriert die Regel und das Netz wird nicht erstellt. Die Wiederholungsfunktion akzeptiert nur positive Ganzzahlen als Anzahl der Wiederholungen.

Kann ich die Wiederholungsfunktion mit prozentualen Werten verwenden? Der Prozentsatz wird in Bezug auf die Größe des Gitterbehälters berechnet. Zum Beispiel "Grid-Template-Säulen: Wiederholung (2, 50%); Erstellt ein Raster mit zwei Spalten, die jeweils die Hälfte der Breite des Containers aufnehmen. Mit der Eigenschaft mit Gitter-Template-Reihen verwendet werden, um die Größe der Rasterreihen zu definieren. Die Syntax ist die gleiche wie bei Grid-Template-Säulen. Zum Beispiel "Grid-Template-Reihen: Wiederholung (3, 100px); Erstellt ein Gitter mit drei Zeilen von jeweils 100px -Höhe.

Kann ich die Wiederholungsfunktion mit Medienabfragen verwenden? . Sie können verschiedene Gitterlayouts für verschiedene Bildschirmgrößen mit der Wiederholungsfunktion in einer Medienabfrage definieren. Zum Beispiel möchten Sie möglicherweise zwei Spalten auf kleinen Bildschirmen und vier Spalten auf großen Bildschirmen anzeigen. Dies kann mit dem folgenden Code erreicht werden:

@media (max-Width: 600px) {

.grid {

Grid-Template-Säulen: Wiederholung (2, 1fr);

}

}

@media (min-Width: 601px) {

.grid {

Grid-Template-Säulen: Wiederholung (4, 1fr);

}

}

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die CSS Grid repep () -Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage