Zeit sparen Mit der CSS-Eigenschaft grid

In früheren Tutorials haben wir gelernt, wie Sie ein Raster einrichten und seine expliziten Eigenschaften definieren (z. B. Raster-Vorlage-Spalten und Raster-Vorlagenbereiche) und sogar einige der impliziten Eigenschaften (wie Raster-Auto-Spalten). In diesem Tutorial werden wir uns die Abkürzungseigenschaft ansehen Gitter was alles in einer einzigen Anweisung schnell behandelt.

Ihr Netz in zwei einfachen Zeilen

Beginnen Sie wie üblich mit der Deklaration Anzeige: Raster; auf Ihrem Container. Als nächstes benutzen Sie die Gitter Eigenschaft zum Anordnen Ihrer Zeilen und dann Ihrer Spalten:

.grid-1 display: grid; Raster: 100px Auto 300px / Wiederholung (2, 1fr) 100px; 

Die obige Anweisung sagt, wir wollen drei explizite Zeilen von 100px, auto und 300px. Und (mit der wiederholen() Funktion) zwei Spalten von 1fr, dann eine von 100px. Es ist genau das gleiche wie diese längere Version:

.grid-1 display: grid; Raster-Vorlage-Zeilen: 100px Auto 300px; Rastervorlagen-Spalten: Wiederholung (2, 1fr) 100px; 

Beide Aussagen geben uns folgendes:

Implizite Werte in die Mischung einfügen

Implizite Werte fordern wir von Grid über die expliziten Werte hinaus, die wir definieren. In dem Gitter Kurzum, wir können die beiden nicht kombinieren, also müssen wir eine Wahl treffen. Schauen Sie sich das zum Beispiel an:

.grid-1 display: grid; Raster: automatischer Fluss 100px / 1fr 100px; 

In diesem Fall haben wir uns an explizite Spalten gehalten (eine von 1fr, eine andere von 100px), aber unsere Zeilen verwenden eine abgekürzte Form von Netz-Auto-Fluss und Raster-Auto-Zeilen. Es sagt „Wenn Sie weitere Spuren zum Raster hinzufügen möchten, fügen Sie sie als Zeilen hinzu. Und mache jeden 100px hoch. “ Es ist das gleiche wie dieses:

.grid-1 display: grid; Rastervorlagen-Spalten: 1fr 100px; Raster-Auto-Flow: Reihe; Raster-Auto-Zeilen: 100px; 

Dies ist ein ziemlich voreingestelltes Verhalten, aber wir sehen eine größere Änderung, wenn wir stattdessen von unserem impliziten Raster die Verwendung zusätzlicher Spalten verlangen:

.grid-1 display: grid; Raster: 100px 300px / automatischer Fluss 100px; 

Dies gibt uns zwei Reihen von 100px und 300px und setzt dann effektiv Gitter-Auto-Flow: Spalte;. Es ist das gleiche wie:

.grid-1 display: grid; Raster-Vorlage-Zeilen: 100px 300px; Gitter-Auto-Flow: Spalte; Raster-Auto-Spalten: 100px; 

Jetzt platziert der Algorithmus für die automatische Platzierung Elemente von oben nach unten und fügt Spalten nach rechts hinzu, wenn der Platz nicht mehr ausreicht:

Hinweis: Wir können nicht erklären automatischer Fluss in beiden Reihen und Spalten, die nicht funktionieren.

Das Schlüsselwort für die Verpackung

Wenn Sie an unser Tutorial zurückdenken Wenn Sie das CSS-Grid "Auto-Placement-Algorithmus" verstehen, werden Sie sich daran erinnern, dass wir besprochen haben spärlich und dicht; Schlüsselwörter, die beschreiben, wie Elemente in ein Raster gepackt werden. Diese können auch zusammen verwendet werden automatischer Fluss, so was:

.grid-1 display: grid; Raster: 100px 300px / dichter automatischer Fluss 100px; 

Gittervorlagenbereiche

Vorlagenbereiche sind eine Möglichkeit, Bereiche unseres Rasters auf nahezu visuell repräsentative Weise zu benennen. In seiner einfachsten Form würden wir nur verwenden Gitter um unsere Vorlagenbereiche zu beschreiben und sonst nichts:

.grid-1 display: grid; Raster: "Kopfzeile Kopfzeile" "Hauptseitenleiste" "Fußzeile Fußzeile Fußzeile"; 

Dann geben wir an, welcher Bereich jedes Rasterelement wie folgt ausfüllt: 

.item-1 Grid-Bereich: Kopfzeile; 

Wenn Sie sich an unser ursprüngliches Vorlagenbereichstutorial erinnern, hatten wir einige weitere Details, um uns Spalten- und Zeilenabmessungen zu geben:

.grid-1 display: grid; Rastervorlagen-Spalten: Wiederholung (3, 1fr); Raster-Vorlage-Zeilen: 80px 180px 80px; Raster-Vorlagenbereiche: "Kopfzeile Kopfzeile" "Hauptseitenleiste" "Fußzeile Fußzeile Fußzeile"; 

Das können wir auch wie folgt machen:

.grid-1 display: grid; grid: "header header header" 80px "Hauptseitenleiste" 180px "Fußzeile Fußzeile Fußzeile" 80px / 1fr 1fr 1fr; 

Wir fügen die Spaltenbreiten nach dem Schrägstrich (der wiederholen() Funktion funktioniert in diesem Fall nicht, aber ich weiß nicht warum). Nach den Bereichsdeklarationen fügen wir die Zeilenhöhen inline hinzu. Das ist, was wir am Ende mit:

Fazit

Dieses Tutorial sollte Ihnen ein Verständnis dafür vermittelt haben, wie die Gitter Abkürzungseigenschaft funktioniert. Spielen Sie herum, sehen Sie, welche anderen Aspekte des CSS-Grid-Moduls Sie damit verwenden können, und lassen Sie uns wissen, wie viel Zeit Sie sparen!

Relevante Tutorials und Links

  • Gitternetz-Kurzschreibweise für MDN
  • Gitternetzspezifikation für W3C