Box-Alignment im Grid-Layout

Die Box-Alignment Spezifikation beschreibt, wie die Ausrichtung in verschiedenen Layout-Methoden funktioniert. Auf dieser Seite untersuchen wir, wie das Box-Alignment im Kontext des CSS Grid-Layouts funktioniert.

Da diese Seite darauf abzielt, spezifische Details des CSS Grid-Layouts und des Box-Alignments zu erläutern, sollte sie zusammen mit der Hauptseite Box-Alignment gelesen werden, die die allgemeinen Funktionen des Box-Alignments über die Layout-Methoden hinweg beschreibt.

Grundlegendes Beispiel

In diesem Beispiel mit Grid-Layout gibt es zusätzlichen Platz im Grid-Container, nachdem die festbreiten Tracks auf der Inline- (Haupt-) Achse angeordnet wurden. Dieser Raum wird mithilfe von justify-content verteilt. Auf der Block- (Quer-) Achse wird die Ausrichtung der Elemente innerhalb ihrer Grid-Bereiche mit align-items gesteuert. Das erste Element überschreibt den align-items-Wert, der auf die Gruppe gesetzt wurde, indem es align-self auf center setzt.

Grid-Achsen

Als zweidimensionale Layout-Methode haben wir beim Arbeiten mit Grid-Layout immer zwei Achsen, auf denen wir unsere Elemente ausrichten können. Wir haben Zugriff auf alle Box-Alignment-Eigenschaften, um dies zu erreichen.

Die Inline-Achse entspricht der Richtung, in der Wörter in einem Satz im verwendeten Schreibmodus verlaufen würden. Daher verläuft die Inline-Richtung in einer horizontalen Sprache wie Englisch oder Arabisch horizontal. Sollten Sie sich in einem vertikalen Schreibmodus befinden, verläuft die Inline-Achse vertikal.

Inline-Achsen sind horizontal.

Um Dinge auf der Inline-Achse auszurichten, verwenden Sie die Eigenschaften, die mit justify- beginnen, justify-content, justify-items und justify-self.

Die Block-Achse kreuzt die Inline-Achse in der Richtung, in der Blöcke auf der Seite dargestellt werden — zum Beispiel werden Absätze im Englischen vertikal untereinander dargestellt. Dies ist daher die Block-Dimension.

Um Dinge auf der Block-Achse auszurichten, verwenden Sie die Eigenschaften, die mit align- beginnen, align-content, align-items und align-self.

Die Block-Achsen sind vertikal.

Selbst-Ausrichtung

Diese Eigenschaften befassen sich mit der Ausrichtung des Elements innerhalb des Grid-Bereichs, in den es platziert ist. Die Eigenschaften align-items und justify-items werden auf den Grid-Container angewendet und setzen die Eigenschaften align-self und justify-self als Gruppe. Das bedeutet, dass Sie die Ausrichtung für alle Ihre Grid-Elemente auf einmal setzen können, um dann die Elemente, die eine andere Ausrichtung benötigen, durch Anwenden der Eigenschaft align-self oder justify-self auf die Regeln für die einzelnen Grid-Elemente zu überschreiben.

Der anfängliche Wert für align-self und justify-self ist stretch, sodass das Element sich über den gesamten Grid-Bereich erstreckt. Eine Ausnahme zu dieser Regel ist, wenn das Element ein intrinsisches Seitenverhältnis hat, zum Beispiel ein Bild. In diesem Fall wird das Element in beiden Dimensionen auf start ausgerichtet, um zu vermeiden, dass das Bild verzerrt wird.

Inhaltsausrichtung

Diese Eigenschaften befassen sich mit der Ausrichtung der Tracks des Grids, wenn Überschussraum verteilt werden muss. Dieses Szenario tritt auf, wenn die von Ihnen definierten Tracks insgesamt kleiner sind als die Gesamtbreite des Grid-Containers.

Abstände und veraltete grid-gap-Eigenschaften

Die Grid-Spezifikation enthielt ursprünglich die Definition für die Eigenschaften grid-row-gap, grid-column-gap und grid-gap. Diese wurden mittlerweile in die Box-Alignment-Spezifikation verschoben und in row-gap, column-gap, und gap umbenannt. Dies ermöglicht ihre Verwendung für andere Layout-Methoden, bei denen ein Abstand zwischen Elementen sinnvoll ist.

Die aktualisierten Eigenschaften wurden noch nicht in allen Browsern implementiert. Daher sollten Sie zur Verwendung der gap-Eigenschaften im Grid-Layout die grid-row-gap, grid-column-gap und grid-gap-Versionen verwenden, um vollständige Kompatibilität sicherzustellen. Sie könnten die Eigenschaften verdoppeln und sowohl als auch wie bei Vendor-Präfixen verwenden.

Referenz

CSS-Eigenschaften

Glossar-Einträge

Leitfäden