Heim >Web-Frontend >CSS-Tutorial >CSS Grid – Ein tiefer Einblick
Willkommen zur neunten Vorlesung des Kurses „Basic to Brilliance“. In dieser Vorlesung beschäftigen wir uns mit CSS Grid, einem leistungsstarken Layoutsystem, mit dem Sie problemlos komplexe Weblayouts erstellen können. Während sich Flexbox hervorragend für eindimensionale Layouts (Zeilen oder Spalten) eignet, bietet CSS Grid ein zweidimensionales Layoutsystem, mit dem Sie sowohl Zeilen als auch Spalten gleichzeitig steuern können.
CSS Grid ist ein Layoutsystem in CSS, das die Erstellung flexibler, reaktionsfähiger und gitterbasierter Layouts ermöglicht. Es ermöglicht Ihnen, Elemente in Zeilen und Spalten auszurichten und bietet so mehr Kontrolle über die Layoutstruktur als Flexbox.
Bevor wir uns mit Beispielen befassen, machen wir uns mit einigen Schlüsselbegriffen vertraut:
Um Grid zu verwenden, wenden Sie display: grid auf den Container an.
.grid-container { display: grid; }
Sobald Anzeige: Raster angewendet wird, werden die untergeordneten Elemente des Containers zu Rasterelementen.
Mit den Eigenschaften „grid-template-columns“ und „grid-template-rows“ können Sie festlegen, wie viele Zeilen und Spalten Ihr Raster haben soll.
.grid-container { display: grid; grid-template-columns: 100px 200px 100px; grid-template-rows: 50px 150px; }
Dadurch wird ein Raster erstellt mit:
CSS Grid führt die Brucheinheit fr ein, die einen Bruchteil des verfügbaren Platzes im Grid-Container darstellt. Dies ist eine flexible Möglichkeit, Platz zwischen Rasterelementen zu verteilen.
.grid-container { display: grid; grid-template-columns: 1fr 1fr 1fr; }
In diesem Beispiel sind die drei Spalten gleich breit und nehmen jeweils einen Bruchteil des verfügbaren Platzes ein.
Mit den Eigenschaften „grid-column“ und „grid-row“ können Sie steuern, wo jedes Rasterelement platziert wird. Mit diesen Eigenschaften können Sie die Start- und Endpositionen der Elemente angeben.
.grid-item { grid-column: 1 / 3; /* This item spans from column 1 to column 3 */ grid-row: 1 / 2; /* This item is placed in the first row */ }
In diesem Fall erstreckt sich das Rasterelement über die ersten beiden Spalten, wird jedoch in der ersten Zeile platziert.
Die Grid-Gap-Eigenschaft fügt Abstand zwischen Rasterelementen hinzu, sowohl horizontal als auch vertikal.
.grid-container { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-gap: 20px; }
Dadurch entstehen gleiche Lücken von 20 Pixeln zwischen allen Rasterelementen.
Auto-Fit und Auto-Fill sind leistungsstarke Funktionen, die es dem Raster ermöglichen, basierend auf der Größe des Containers automatisch so viele Spalten wie möglich zu platzieren.
.grid-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); }
Hier passt das Raster automatisch auf so viele Spalten wie möglich und stellt sicher, dass jede Spalte mindestens 100 Pixel breit ist, aber wachsen kann, um den verfügbaren Platz auszufüllen.
Lassen Sie uns ein einfaches Rasterlayout mit CSS Grid erstellen.
HTML:
<div class="grid-container"> <div class="grid-item">1</div> <div class="grid-item">2</div> <div class="grid-item">3</div> <div class="grid-item">4</div> <div class="grid-item">5</div> <div class="grid-item">6</div> </div>
CSS:
.grid-container { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 10px; } .grid-item { background-color: #ddd; padding: 20px; text-align: center; }
In diesem Beispiel:
Sie können Raster auch verschachteln, wobei ein Rasterelement selbst zu einem Rastercontainer wird. Dies ermöglicht komplexere Layouts.
.nested-grid { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 10px; }
Sie können dieses Konzept anwenden, um ein Raster innerhalb eines anderen Rasters zu erstellen und so eine detailliertere Kontrolle über Ihr Layout zu erhalten.
CSS Grid is great for responsive design. You can adjust the number of columns based on the screen size using media queries.
.grid-container { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 10px; } @media screen and (max-width: 768px) { .grid-container { grid-template-columns: repeat(2, 1fr); } } @media screen and (max-width: 480px) { .grid-container { grid-template-columns: 1fr; } }
In this example:
Next Up: In the next lecture, we’ll explore Advanced CSS Grid Techniques, including grid areas, template layouts, and combining Grid with Flexbox. Stay tuned!
Ridoy Hasan
Das obige ist der detaillierte Inhalt vonCSS Grid – Ein tiefer Einblick. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!