Grid ist ein zweidimensionales Rasterlayoutsystem. Damit können wir problemlos komplexe Layouts implementieren, ohne Mit dem CSS-Rasterlayout können Sie eine Seite gut in mehrere Hauptbereiche unterteilen und die Größe, Position, Hierarchie und andere Beziehungen dieser Bereiche definieren (vorausgesetzt, dass HTML diese Bereiche generiert). Wie bei einer Tabelle können wir mit dem Rasterlayout Elemente in Zeilen oder Spalten ausrichten. Für das Layout sind Raster jedoch wahrscheinlicher oder einfacher zu verwenden als Tabellen. Rasterlayout-Konzepte Bevor Sie lernen, müssen Sie die folgenden Rasterkonzepte verstehen. Rasterspuren Eine Rasterspur ist der Raum zwischen zwei Rasterlinien. Sie werden im Raster mithilfe der Eigenschaften Im obigen Bild gibt es zwei Zeilen und drei Spalten. Eine Zeile oder eine Spalte wird als Spur bezeichnet. Gitternetzlinien Durch die Verwendung Gitternetzlinien können über ihre Nummern angesprochen werden. In Sprachen, die von links nach rechts geschrieben werden, befindet sich Gitterzelle Im Rasterbereiche Eine Rasterfläche ist ein rechteckiger Bereich in einem Raster, der aus einer oder mehreren Rasterzellen besteht. Grundsätzlich muss die Rasterfläche rechteckig sein. So ist es beispielsweise nicht möglich, T-förmige oder L-förmige Rasterflächen zu erstellen. Dachrinnen Der Rasterabstand ist der Abstand zwischen den Rasterspuren und kann im Rasterlayout mit den Methoden Verwenden des Rasterlayouts Ähnlich wie bei Flex benötigen Sie zum Verwenden des Rasterlayouts zunächst einen Container. Sie können einen Rastercontainer erhalten, indem Sie Eigenschaften von Containern Rastervorlage Nachdem wir den Rastercontainer erstellt haben, können wir definieren, wie viele Zeilen und Spalten das Raster hat und wie groß jede Zeile und Spalte sein soll. Raster-Vorlage-Zeilen Wir verwenden Das Schlüsselwort
Das Schlüsselwort Das Schlüsselwort Raster-Vorlagen-Spalten Es ist ähnlich wie .container { Anzeige: Raster; Rastervorlagenspalten: 40px 50px automatisch 50px 40px; Rastervorlagenzeilen: 25 % 100 Pixel automatisch; } .container { Anzeige: Raster; Rastervorlagenspalten: 1fr 1fr 1fr; Rastervorlagenzeilen: 100px 100px; } Im Grid verfügbare Funktionen Im Grid-Layout können wir auch die folgenden 3 Funktionen verwenden wiederholen() Mit der Beispielsweise können wir in den obigen Wenn der Container eine explizite Größe oder eine Maximalgröße hat, dann ist die Anzahl der Wiederholungen die größtmögliche positive Ganzzahl, die nicht dazu führt, dass das Raster seinen Rastercontainer überläuft. Wenn eine beliebige Anzahl von Wiederholungen überlaufen würde, beträgt die Anzahl der Wiederholungen 1. Gleiches Verhalten wie bei #Behälter { Anzeige: Raster; Rastervorlagenspalten: Wiederholung (2, 50px 1fr) 100px; Gitterabstand: 5px; Box-Größe: Rahmenbox; Höhe: 200px; Breite: 100 %; Hintergrundfarbe: #8cffa0; Polsterung: 10px; } #container > div { Hintergrundfarbe: #8ca0ff; Polsterung: 5px; } minmax() Definiert ein abgeschlossenes Intervall mit einem Längen- und Breitenbereich. Es akzeptiert zwei Parameter: Minimum und Maximum. Es gibt den Wert in diesem Intervall zurück. Beispielsweise kann der Maximalwert Inhalt anpassen () Es ist gleichbedeutend mit Es nimmt einen Maximalwert aus dem Minimalwert des Inhalts und des Parameters und nimmt dann einen Minimalwert aus dem Maximalwert des Inhalts. Das heißt, wenn der Inhalt klein ist, wird die Inhaltslänge übernommen. Wenn der Inhalt groß ist und die Inhaltslänge größer als die Parameterlänge ist, wird die Parameterlänge übernommen. Raster-Vorlagenbereiche Dieser Attribut-Rasterblock muss mit Wenn es sich um eine Zeichenfolge handelt, generiert jede angegebene Zeichenfolge eine Zeile und jede durch ein Leerzeichen getrennte Zelle in einer Zeichenfolge generiert eine Spalte. Mehrere Zellen mit demselben Namen, die sich über benachbarte Zeilen oder Spalten erstrecken, werden als Rasterbereich bezeichnet. Nicht rechteckige Rasterblöcke sind ungültig. #Seite { Anzeige: Raster; Breite: 100 %; Höhe: 250px; Rastervorlagenbereiche: „Kopf Kopf“ "Hauptnavigation" "Navigationsfuß"; Rastervorlagenzeilen: 50px 1fr 30px; Rastervorlagenspalten: 150px 1fr; } #Seite > Header { Gitterbereich: Kopf; Hintergrundfarbe: #8ca0ff; } #Seite > nav { Rasterbereich: Navigation; Hintergrundfarbe: #ffa08c; } #Seite > Haupt { Rasterbereich: Hauptbereich; Hintergrundfarbe: #ffff64; } #Seite > Fußzeile { Gitterfläche: Fuß; Hintergrundfarbe: #8cffa0; } Die Zeichenfolge Raster-Vorlage Es ist eine Abkürzung für Sein Wert kann in drei Fälle unterteilt werden:
.Seite { Rastervorlage: [Kopfzeile oben] "aa a" [Kopfzeile unten] [Haupt-oben] "bb b" 1fr [Haupt-unten] /auto 1fr auto; } /* Zeilennamen sind optional, benutzerdefinierte Namen müssen in Klammern gesetzt werden, sie entsprechen eigentlich dem mit dem Kommentarstring verknüpften Wert für den Rasterbereich und der Spurgröße, der Größe dieser Zeile */ #Seite { Anzeige: Raster; Breite: 100 %; Höhe: 200px; Rastervorlage: [Header links] „Kopf Kopf“ 30px [Header rechts] [Haupt-links] "Hauptnavigation" 1fr [Haupt-rechts] [Fußzeile links] "Nav Fuß" 30px [Fußzeile rechts] / 120px 1fr; } Kopfzeile { Hintergrundfarbe: Limettengrün; Gitterbereich: Kopf; } Navigation { Hintergrundfarbe: hellblau; Rasterbereich: Navigation; } hauptsächlich { Hintergrundfarbe: gelb; Rasterbereich: Hauptbereich; } Fußzeile { Hintergrundfarbe: rot; Gitterspalte: Fuß; } Raster-Zeilen-Lücke / Zeilen-Lücke Wird verwendet, um die Abstandsgröße zwischen Zeilenelementen festzulegen. Der Wert kann Länge, Prozentsatz oder Das CSS-Rasterlayout wurde ursprünglich mit der Eigenschaft „grid-row-gap“ definiert, die jetzt durch „row-gap“ ersetzt wird. Um jedoch mit Browsern kompatibel zu sein, die die Row-Gap-Eigenschaft nicht unterstützen, müssen Sie die Eigenschaft mit einem Präfix verwenden. .Kasten{ Gitterzeilenabstand: 1em; } Gitterspaltenlücke / Spaltenlücke Wird verwendet, um die Abstandsgröße zwischen den Elementspalten festzulegen. Der Wert kann Länge, Prozentsatz oder Der Standardabstand für Wie .Seite { Rasterspaltenlücke: 1em; } Gitterlücke / Lücke Es handelt sich um eine Abkürzung der beiden oben genannten Eigenschaften und die Syntax lautet Es wurde auch nach und nach durch #Netz { Anzeige: Raster; Höhe: 200px; Rastervorlage: Wiederholung (3, 1fr) / Wiederholung (3, 1fr); Lücke: 20px 5px; } #Raster > div { Hintergrundfarbe: Limettengrün; } Implizit erstellte Zeilen und Spalten Das CSS-Raster passt die Position jedes Elements im Raster automatisch anhand der Größe und Spannweite der umgebenden Elemente an. Zum Beispiel: .Kasten { Anzeige: Raster; Rastervorlage: 25px / 100px 160px; Hintergrund: #000; } .Kasten * { Hintergrund: #ccc; } .box *:n-tes Kind(gerade) { Hintergrund: #777; } Wir haben nur eine Zeile und zwei Spalten definiert. Aber wir haben 5 untergeordnete Elemente. CSS Grid beschließt, sie in den implizit erstellten Bereich auszudehnen, und die Spalten in der neu erstellten impliziten Zeile erben automatisch die Zeilenhöhe von der zuvor angegebenen Die vier Eigenschaften Raster-Auto-Zeilen Gibt die Größe der implizit erstellten Zeilen an. Seine Werte können sein:
Sein Wert ist derselbe wie bei .Kasten { Anzeige: Raster; Rastervorlage: 25px / 100px 160px; Lücke: 10px 20px; Raster-Auto-Zeilen: 50px; Hintergrund: #000; } .Kasten * { Hintergrund: #ccc; } .box *:n-tes Kind(gerade) { Hintergrund: #777; } Raster-Auto-Spalten Gibt die Spaltenbreite des implizit erstellten Rasters an. Sein Wert ist derselbe wie bei #Netz { Höhe: 100px; Anzeige: Raster; Rastervorlagenbereiche: „a a“; Rasterabstand: 10px; Raster-Auto-Spalten: 200px; } #Raster > div { Hintergrundfarbe: Limettengrün; } Raster-Auto-Flow Steuert die Funktionsweise des automatischen Layoutalgorithmus und gibt genau an, wie die automatisch angeordneten Elemente im Raster angeordnet werden. Wenn wir mehrere Die Werte für
Sie können nach diesen beiden Schlüsselwörtern auch das Schlüsselwort Dieses Schlüsselwort gibt an, dass der automatische Layout-Algorithmus einen „dichten“ Packalgorithmus verwendet, der versucht, die Lücken zu füllen, die von kleineren Elementen im Raster hinterlassen werden. Dadurch werden die Lücken gefüllt, die das größere Element hinterlassen hat, es kann jedoch auch die ursprüngliche Reihenfolge des Erscheinens durcheinander geraten. Wenn es weggelassen wird, wird ein „spärlicher“ Algorithmus verwendet und der Layoutalgorithmus bewegt sich beim Anordnen der Elemente im Raster nur „vorwärts“ und geht nie zurück, um die Lücken zu füllen. Dadurch wird sichergestellt, dass alle Auto-Layout-Elemente „in der richtigen Reihenfolge“ erscheinen, auch wenn dadurch Lücken entstehen, die durch spätere Elemente gefüllt werden. Netz Wenn eine der untergeordneten Eigenschaften nicht deklariert ist, werden, wie bei anderen Kurzeigenschaften, ihre Anfangswerte verwendet. Darüber hinaus werden die Rinnen des Rasters durch diese Deklaration zurückgesetzt, obwohl diese Kurzdeklaration sie nicht festlegt. Seine Werte können in 3 Kategorien unterteilt werden Es ist dasselbe wie Beispielsweise Diese Schreibmethode ist das Gegenteil der vorherigen. Diese Methode legt Wie Eigenschaften von Rasterelementen Rasterzeilenanfang, Rasterzeilenende, Rasterspaltenanfang, Rasterspaltenende Geben Sie jeweils die Zeilenstartposition, Zeilenendposition, Spaltenstartposition und Spaltenendposition des Rasterelements im Raster an. Hierzu müssen Sie das zuvor eingeführte Konzept der Rasterlinien verstehen. Horizontale Linien (Zeilen) steigen von oben nach unten an, vertikale Linien (Spalten) steigen von links nach rechts an und beide beginnen bei 1. Sie können folgende Werte annehmen: Es ist etwas ähnlich wie Wenn Sie die Position über die angegebene Größe hinaus einstellen, erhalten Sie instabile Ergebnisse, was vermieden werden sollte. .Kasten { Anzeige: Raster; Raster: 100px 100px / 100px 100px; Hintergrund: #000; } .Kasten * { Hintergrund: #ccc; } .box *:n-tes Kind(gerade) { Hintergrund: #777; } .box1 { Rasterspaltenanfang: Spanne 5; } Rasterzeile, Rasterspalte Die Syntax für ihre Werte ist Wenn die Anzahl der Spalten unbekannt ist, können Sie Verwenden negativer Werte Gitterfläche Oben haben wir die Verwendung von Der Standardwert ist Wenn 4 Werte festgelegt sind, ist die Reihenfolge: Wenn 3 Werte eingestellt sind, ist der letzte Wenn 2 Werte eingestellt sind, sind die letzten beiden Wenn 1 Wert eingestellt ist, werden die nächsten drei Wenn das erste Element .box1 { Gitterfläche: a / a; } /* entspricht */ .box1 { Rasterzeilenstart: a; Rasterspaltenanfang: a; Gitterzeilenende: a; Gitterspaltenende: a; } Ausrichtung des Rasterelementinhalts Wir können selbst ausrichten Auch Flex-Layouts können diese Eigenschaft nutzen. Normalerweise werden die folgenden drei Werte verwendet:
rechtfertigen-sich Normalerweise werden die folgenden drei Werte verwendet:
Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. |
<<: Neue Funktionen in MySQL 8.0 - Einführung in die Verwendung des Management-Ports
>>: So gestalten Sie die Homepage von Tudou.com
Warum prettier verwenden? In großen Unternehmen k...
Ich habe vor Kurzem den günstigsten Tencent-Cloud...
CSS3 kann die Farbe von Bildern ändern. Ab sofort...
Inhaltsverzeichnis Vorwort 1. Warum brauchen wir ...
Linux-Dateisystem In der Abbildung oben sind herk...
Vor kurzem wollte ich Goaccess verwenden, um Ngin...
1. Erstellen Sie einen neuen Benutzer wwweee000 [...
In diesem Artikel wird der spezifische Code des W...
Inhaltsverzeichnis 1. Grundvoraussetzungen für di...
Inhaltsverzeichnis Wenn Sie mehrere Variablen gle...
Detaillierte Einführung in die Schritte zur Insta...
1. So überwachen Sie MySQL-Deadlocks in Produktio...
1. Einleitung Wenn wir uns bei MySQL anmelden, wi...
Was ist das? Spring Boot ist ein Unterprojekt der...
Ohne weitere Umschweife werde ich den Code direkt...