Inhaltsverzeichnis

CSS Layout mit Flexbox

Diese Dokumentation erläutert die Grundlagen, Ausrichtungen und Eigenschaften des CSS Flexbox-Layoutmodus basierend auf dem Referenzmaterial[cite: 11].

1. Über Flexbox & Behälter

Flexbox ist ein Anzeigemodus, der Elemente entlang einer Achse (horizontal oder vertikal) anordnet[cite: 11]. Er eignet sich besonders für Komponenten wie Menüs, Galerien und responsive Seitenlayouts[cite: 11].

Aktivierung

Um den Flexbox-Modus zu aktivieren, wird die Eigenschaft display: flex; auf das Eltern-Element angewendet[cite: 11].

.container {
  display: flex;
}

2. Flussrichtung & Umbruch

flex-direction

Bestimmt die Hauptrichtung, in der die Flex-Elemente angeordnet werden[cite: 11]:

flex-wrap

Steuert, ob Elemente bei Platzmangel in neue Zeilen umbrechen[cite: 11]:

flex-flow

Kurzschreibweise für flex-direction und flex-wrap in einer Deklaration[cite: 11].

.container {
  display: flex;
  flex-flow: column wrap; /* Spaltenanordnung mit Umbruch */
}

3. Achsen-Konzept

Flexbox arbeitet richtungsunabhängig mit zwei Achsen[cite: 11]:

4. Ausrichtung

Hauptachse: justify-content

Richtet die Elemente entlang der Hauptachse aus (wird auf den Container angewendet)[cite: 11]:

Querachse: align-items & align-self

Mehrzeilige Querachse: align-content

Steuert die Ausrichtung der Zeilen auf der Querachse, wenn flex-wrap: wrap; aktiv ist und zusätzlicher Platz vorhanden ist[cite: 11] (Werte: stretch [Standard], flex-start, flex-end, center, space-between, space-around)[cite: 11].

5. Flexibilität der Elemente (flex, grow, shrink, basis)

Die Eigenschaft flex ist eine Kurzform für flex-grow, flex-shrink und flex-basis zur Verteilung des verbleibenden Raums[cite: 11].

Einzelne Eigenschaften

Vordefinierte Kurzwerte

/* Beispiel für flexibles Wachstum */
.item-groß {
  flex: 3 1 auto; /* Erhält dreimal mehr freien Zusatzraum als Standard-Items */
}

6. Reihenfolge ändern (order)

Die Eigenschaft order steuert die visuelle Reihenfolge von Flex-Elementen unabhängig von ihrer Reihenfolge im HTML-Quelltext[cite: 11].

.box-letzte {
  order: 1; /* Wandert ans Ende, wenn andere den Standardwert 0 haben */
}

7. Übersicht der Flexbox-Eigenschaften

Container-Eigenschaften (Flex Container) Element-Eigenschaften (Flex Items)
display[cite: 11] flex[cite: 11]
flex-direction[cite: 11] flex-grow[cite: 11]
flex-wrap[cite: 11] flex-shrink[cite: 11]
flex-flow[cite: 11] flex-basis[cite: 11]
justify-content[cite: 11] align-self[cite: 11]
align-items[cite: 11] order[cite: 11]
align-content[cite: 11]