CSS Flexbox: Das komplette Guide | Enjyn Gruppe
Hallo Welt
→
→
Hallo Welt
Original Lingva Deutsch
Übersetzung wird vorbereitet...
Dieser Vorgang kann bis zu 60 Sekunden dauern.
Diese Seite wird erstmalig übersetzt und dann für alle Besucher gespeichert.
0%
DE Zurück zu Deutsch
Übersetzung durch Lingva Translate

330 Dokumentationen verfügbar

Wissensdatenbank

CSS Flexbox Guide

Zuletzt aktualisiert: 14.07.2026 um 12:30 Uhr

CSS Flexbox: Das komplette Guide

Flexbox macht komplexe Layouts einfach. Zentrieren, Verteilen, Ausrichten – alles mit wenigen CSS-Eigenschaften. Hier lernen Sie alles Wichtige.

Flexbox aktivieren

.container {
  display: flex;
  /* oder inline-flex für Inline-Container */
}

Die zwei Achsen

┌─────────────────────────────────────────┐
│                                         │
│  ←────── Main Axis (Hauptachse) ──────→ │
│                                         │
│  ↑                                      │
│  │                                      │
│  │ Cross Axis                           │
│  │ (Querachse)                          │
│  │                                      │
│  ↓                                      │
│                                         │
└─────────────────────────────────────────┘

Container-Eigenschaften

flex-direction

.container {
  flex-direction: row;            /* Standard: horizontal → */
  flex-direction: row-reverse;    /* horizontal ← */
  flex-direction: column;         /* vertikal ↓ */
  flex-direction: column-reverse; /* vertikal ↑ */
}

flex-wrap

.container {
  flex-wrap: nowrap;       /* Standard: alles in einer Zeile */
  flex-wrap: wrap;         /* Umbruch wenn nötig */
  flex-wrap: wrap-reverse; /* Umbruch, aber umgekehrte Reihenfolge */
}

justify-content (Hauptachse)

.container {
  justify-content: flex-start;    /* Am Anfang */
  justify-content: flex-end;      /* Am Ende */
  justify-content: center;        /* Zentriert */
  justify-content: space-between; /* Gleichmäßig, außen kein Abstand */
  justify-content: space-around;  /* Gleichmäßig, halber Abstand außen */
  justify-content: space-evenly;  /* Komplett gleichmäßig */
}
/* Visualisierung für justify-content */

flex-start:    |■ ■ ■        |
flex-end:      |        ■ ■ ■|
center:        |    ■ ■ ■    |
space-between: |■     ■     ■|
space-around:  | ■   ■   ■ |
space-evenly:  |  ■  ■  ■  |

align-items (Querachse)

.container {
  align-items: stretch;    /* Standard: volle Höhe */
  align-items: flex-start; /* Oben */
  align-items: flex-end;   /* Unten */
  align-items: center;     /* Mittig */
  align-items: baseline;   /* Text-Baseline */
}

align-content (mehrere Zeilen)

.container {
  flex-wrap: wrap;
  align-content: flex-start;
  align-content: flex-end;
  align-content: center;
  align-content: space-between;
  align-content: space-around;
  align-content: stretch;
}

gap (Abstände)

.container {
  gap: 20px;              /* Alle Richtungen */
  gap: 20px 10px;         /* row-gap column-gap */
  row-gap: 20px;          /* Nur Zeilen */
  column-gap: 10px;       /* Nur Spalten */
}

Item-Eigenschaften

flex-grow

/* Wie viel vom verfügbaren Platz nehmen */
.item { flex-grow: 0; }  /* Standard: nicht wachsen */
.item { flex-grow: 1; }  /* Gleichmäßig wachsen */

/* Unterschiedliches Wachstum */
.item-1 { flex-grow: 1; }  /* 1 Teil */
.item-2 { flex-grow: 2; }  /* 2 Teile */

flex-shrink

/* Wie stark schrumpfen wenn nötig */
.item { flex-shrink: 1; }  /* Standard: schrumpft */
.item { flex-shrink: 0; }  /* Nicht schrumpfen */

flex-basis

/* Anfangsgröße vor Wachsen/Schrumpfen */
.item { flex-basis: auto; }   /* Standard: basiert auf Inhalt */
.item { flex-basis: 200px; }  /* Feste Anfangsgröße */
.item { flex-basis: 25%; }    /* Prozentual */

flex (Shorthand)

/* flex: grow shrink basis */
.item { flex: 0 1 auto; }   /* Standard */
.item { flex: 1; }          /* flex: 1 1 0 */
.item { flex: auto; }       /* flex: 1 1 auto */
.item { flex: none; }       /* flex: 0 0 auto */

align-self

/* Überschreibt align-items für einzelnes Item */
.item {
  align-self: auto;       /* Standard: von Container */
  align-self: flex-start;
  align-self: flex-end;
  align-self: center;
  align-self: stretch;
}

order

/* Reihenfolge ändern (Standard: 0) */
.item-1 { order: 2; }
.item-2 { order: 1; }
.item-3 { order: 3; }
/* Anzeige: item-2, item-1, item-3 */

Praktische Beispiele

Perfekte Zentrierung

.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

Navigation

.nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
}

.nav-links {
  display: flex;
  gap: 1rem;
}

Card Layout

.card-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.card {
  flex: 1 1 300px; /* Min 300px, wächst gleichmäßig */
  max-width: 400px;
}

Footer am unteren Rand

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  flex: 1; /* Nimmt allen verfügbaren Platz */
}

footer {
  /* Bleibt unten */
}

Holy Grail Layout

.container {
  display: flex;
  flex-wrap: wrap;
}

header, footer {
  flex: 0 0 100%;
}

nav {
  flex: 0 0 200px;
  order: -1;
}

main {
  flex: 1;
  min-width: 0;
}

aside {
  flex: 0 0 200px;
}

Flexbox vs. Grid

Flexbox Grid
Eindimensional (Zeile ODER Spalte) Zweidimensional (Zeile UND Spalte)
Content-first (Inhalt bestimmt) Layout-first (Raster bestimmt)
Für Navigation, Buttons, Cards Für Seitenlayouts, komplexe Grids
💡 Tipp: Nutzen Sie Flexbox für Komponenten (Nav, Cards, Buttons) und Grid für das Seitenlayout. Beide können kombiniert werden!

Browser-Support

Flexbox wird von allen modernen Browsern unterstützt (IE11 mit Einschränkungen).

Weitere Informationen

Texterstellung mit KI-Unterstützung

Enjix Beta

Enjyn AI Agent

Hallo 👋 Ich bin Enjix — wie kann ich dir helfen?
LLMs können Fehler machen. Ihre Nachrichten werden an Google Gemini weitergeleitet.
120