CSS Flexbox-Generator

Bauen Sie Flexbox-Layouts visuell · passen Sie Container- und Item-Eigenschaften an, sehen Sie eine Live-Vorschau und kopieren Sie das CSS.

Container-Eigenschaften

Live-Vorschau

Generiertes CSS

So funktioniert es

  1. Container-Eigenschaften setzen: Konfigurieren Sie den Flex-Container, flex-direction, justify-content, align-items, flex-wrap und gap.
  2. Flex-Items hinzufügen und konfigurieren: Fügen Sie Kindelemente hinzu und legen Sie individuelle Werte für flex-grow, flex-shrink, flex-basis, align-self und order fest.
  3. CSS kopieren: Holen Sie sich das vollständige CSS für Container und Items, einsatzbereit für Ihr Projekt.

Warum den Flexbox-Generator nutzen?

Flexbox ist das wesentliche Werkzeug für eindimensionale CSS-Layouts, Elemente in einer Zeile oder Spalte ausrichten, mit kraftvollen Steuerungen für Verteilung und Ausrichtung. Doch die Eigenschaften sind zahlreich und ihr Zusammenspiel komplex: justify-content gegen align-items, flex-grow gegen flex-basis, Hauptachse gegen Querachse. Dieser interaktive Generator gibt sofortiges visuelles Feedback beim Umschalten jeder Eigenschaft, der schnellste Weg, Flexbox zu lernen und passendes CSS für Ihr Layout zu erhalten.

Funktionen

Häufige Fragen

Was ist der Unterschied zwischen justify-content und align-items?

justify-content verteilt Items entlang der Hauptachse (standardmäßig horizontal). align-items richtet Items entlang der Querachse aus (standardmäßig vertikal). Steht flex-direction auf column, vertauschen sich die Achsen, justify-content wird vertikal, align-items wird horizontal.

Wann sollte ich Flexbox und wann CSS Grid einsetzen?

Nutzen Sie Flexbox für eindimensionale Layouts, eine Reihe von Buttons, eine Navigationsleiste, eine Liste umbrechender Karten. Nutzen Sie CSS Grid für zweidimensionale Layouts, bei denen Sie Zeilen und Spalten gleichzeitig steuern müssen, etwa ein vollständiges Seitenlayout oder ein komplexes Karten-Raster.

Was bedeutet flex: 1?

flex: 1 ist die Kurzform für flex-grow: 1; flex-shrink: 1; flex-basis: 0%. Sie weist das Element an, den verfügbaren Platz zu füllen, bei Bedarf zu schrumpfen und vor der Verteilung mit Größe null zu starten. Alle Items mit flex: 1 teilen sich den Platz gleichmäßig.

Was ist Flexbox?

Flexbox (Flexible Box Layout) ist ein CSS-Layout-Modell, entworfen für die Verteilung von Raum und Ausrichtung von Elementen in einer eindimensionalen Richtung: entweder Zeile oder Spalte. Es führt zwei Kernkonzepte ein, die alles bestimmen: die Hauptachse (die primäre Richtung, in die Elemente fließen, standardmäßig horizontal) und die Querachse (senkrecht zur Hauptachse, standardmäßig vertikal). Sobald Sie Haupt vs. Quer verinnerlicht haben, ordnet sich jede Flexbox-Eigenschaft einer der beiden zu: justify-content arbeitet auf der Hauptachse, align-items arbeitet auf der Querachse, flex-direction tauscht die Achsen.

Flexbox löste eine Reihe von Layout-Problemen, die Webentwickler von 1998 bis 2014 plagten. Vor Flexbox erforderte das vertikale Zentrieren eines Elements Hacks (display: table-cell, negative Margins, position: absolute mit translate-Transforms). Gleich hohe Spalten erforderten die «Faux Columns»-Technik mit Hintergrundbildern. Sticky Footers brauchten exakte Pixel-Berechnungen. Flexbox machte all das trivial: eine einzeilige Deklaration ersetzt Jahrzehnte von CSS-Umwegen. Der Kompromiss ist, dass Flexbox eindimensional ist; für zweidimensionale Layouts (Zeile UND Spalte gleichzeitig) ist CSS Grid (2017 ausgeliefert) das bessere Werkzeug.

Flexbox-Eigenschaften teilen sich sauber in zwei Gruppen: Container-Eigenschaften (auf das Elternelement angewendet: display: flex, flex-direction, flex-wrap, justify-content, align-items, align-content, gap) und Item-Eigenschaften (auf Kinder angewendet: flex-grow, flex-shrink, flex-basis, align-self, order). Die Container-Eigenschaften steuern Layout-Muster; die Item-Eigenschaften steuern individuelle Ausnahmen. Dieser Generator zeigt beide Sätze, damit Sie experimentieren können, wie sie interagieren, ohne Code zu schreiben.

Was im Generator steckt

Die Live-Vorschau ist ein Flex-Container mit Beispiel-Kindelementen. Wenn Sie Container-Eigenschaften (flex-direction, justify-content usw.) per Dropdown und Inputs ändern, aktualisiert JavaScript den Inline-Stil des Vorschau-Containers, und der Browser rendert das Layout neu. Die Vorschau ist die tatsächliche Flexbox-Implementierung des Browsers, keine JavaScript-Simulation: Sie sehen genau, was Ihr CSS auf einer echten Seite produzieren wird.

Pro-Item-Steuerungen lassen Sie jedes Kind individuell anpassen. Sie können Items hinzufügen oder entfernen, deren flex-grow, flex-shrink, flex-basis, align-self und order-Werte setzen und sehen, wie der Container den Raum entsprechend neu verteilt. Visuelle Achsenindikatoren zeigen die Haupt- und Querachsen für die aktuelle Konfiguration und festigen das mentale Modell. Die Eigenschaften sind echtes CSS, das Sie direkt in Ihren Stylesheet kopieren können, ohne Transpilation oder Framework-Präfixe.

Das «Generated CSS»-Panel aktualisiert sich bei jeder Interaktion und erzeugt zwei CSS-Regeln: eine für den Container (mit den gewählten Flex-Eigenschaften) und eine für die Items. Klicken Sie auf «CSS kopieren» und die Regeln werden in Ihre Zwischenablage geschrieben. Das Werkzeug selbst macht nie Netzwerkanfragen; das Vorschau-Rendering, die Code-Generierung und der Clipboard-Schreibvorgang passieren alle in JavaScript auf Ihrem Gerät. Seite neu laden, und Ihre Konfiguration ist weg, sofern Sie das CSS nicht zuerst kopiert haben.

Geschichte und Hintergrund

Praktische Workflows

Haeufige Fallstricke

Datenschutz und Datenverarbeitung

CSS-Lern- und Layout-Werkzeuge kommen in zwei Geschmacksrichtungen: einfache HTML-Seiten, die clientseitiges JavaScript ausführen (privat, schnell, kein Setup) und Cloud-Editoren mit gespeicherten Projekten (kollaborativ aber mit Datenschutz-Kompromissen). Dieses Werkzeug ist die erste Art. Ihre Eigenschafts-Auswahlen, Ihre Item-Konfigurationen, Ihr generiertes CSS: alles bleibt in Ihrer Browser-Sitzung. Seite neu laden und der Zustand ist weg, sofern Sie das CSS nicht zuerst kopiert haben.

Die Datenschutz-Einsätze sind hier gering, weil Flexbox-Konfigurationen selten sensible Informationen enthalten. Trotzdem zählt das Fehlen von Analytics: Sie können frei experimentieren, ohne dass Ihr Trial-and-Error-Prozess aufgezeichnet wird. Besonders nützlich in Klassenzimmern oder Unternehmens-Schulungen, wo das Anmelden von Schülern oder Auszubildenden auf Drittanbieter-Plattformen ein Reibungspunkt ist. Das Werkzeug ist eine einzelne statische Seite ohne Backend, in jedem Browser nutzbar, auch auf abgeschotteten Unternehmens-Maschinen.

Wann Flexbox nicht zu verwenden ist

Mehr Fragen

Was bedeutet die flex-Kurzform genau?

Die flex-Kurzform setzt drei Eigenschaften auf einmal: flex: <grow> <shrink> <basis>. Übliche Werte: flex: 1 (1, 1, 0%) für gleich verteilte Items, flex: 0 0 auto für fix dimensionierte Items, flex: 1 1 250px für Items, die ab einem 250px Startpunkt wachsen/schrumpfen. Die Kurzform hat spezielle Anfangswerte, wenn nur ein oder zwei Werte angegeben werden; die explizite Drei-Wert-Form vermeidet Überraschungen.

Wie bringe ich Items dazu, auf mehrere Zeilen umzubrechen?

Setzen Sie flex-wrap: wrap am Container. Items fließen auf eine neue Zeile über, wenn sie nicht passen. Kombinieren Sie mit flex-basis auf Items, um zu kontrollieren, wie viele pro Zeile passen: flex: 1 1 200px erstellt ein responsives Grid, wo Items mindestens 200px sind, wachsen, um den restlichen Raum zu füllen, und auf schmalen Bildschirmen auf neue Zeilen umbrechen. Die Container-gap-Eigenschaft handhabt Abstände zwischen umbrochenen Zeilen und Items.

Kann ich die Reihenfolge der Flex-Items umkehren?

Ja, mehrere Wege. Container-Ebene: flex-direction: row-reverse (oder column-reverse) kehrt alle Items in der Reihenfolge um. Item-Ebene: die order-Eigenschaft weist numerische Gewichte zu; Items mit niedrigeren Zahlen erscheinen zuerst. Standardreihenfolge ist 0; order: -1 auf einem Item bewegt es nach vorne. Barrierefreiheits-Hinweis: visuelles Neuordnen beeinflusst nicht die Tab-Reihenfolge oder Screenreader-Lesereihenfolge, was Tastatur- und Hilfstechnologie-Nutzer verwirren kann. Sparsam verwenden.

Was ist der Unterschied zwischen align-items und align-content?

align-items richtet Items innerhalb ihrer Zeile (oder Spalte) entlang der Querachse aus. align-content richtet die Zeilen (oder Spalten) selbst innerhalb des Containers aus, nur sinnvoll, wenn es mehrere umbrochene Zeilen gibt. Wenn flex-wrap auf nowrap (Standard) gesetzt ist, hat align-content keinen Effekt, weil es nur eine Zeile gibt. Verwenden Sie align-items für Einzeilen-Ausrichtung, align-content für Mehrzeilen-Ausrichtung.

Wie zentriere ich ein einzelnes Element mit Flexbox?

Die klassische Antwort: display: flex; justify-content: center; align-items: center; am Parent-Container. Das zentriert das Kind sowohl horizontal als auch vertikal. Nur für horizontal: nur justify-content: center verwenden. Nur für vertikal: nur align-items: center verwenden. Wenn Sie innerhalb eines Parents unbekannter Höhe zentrieren müssen, fügen Sie min-height: 100vh am Parent hinzu, damit er vertikalen Raum zum Zentrieren hat. Das gesamte Muster ersetzt 20 Jahre CSS-Zentrier-Workarounds.

Warum funktioniert meine Text-Truncation nicht in einem Flex-Container?

Wegen des min-width: auto-Standards auf Flex-Items. Text-overflow: ellipsis erfordert, dass das Element seinen Container tatsächlich überläuft; mit der Standard-Mindestbreite auf die intrinsische Inhaltsgröße gesetzt, läuft das Element nie über. Fix: min-width: 0 am Flex-Item mit dem zu kürzenden Text hinzufügen. Das ist die häufigste Flexbox-Bug Stack-Overflow-Antwort: «flex text-overflow ellipsis not working» liefert Tausende Versionen genau dieser Antwort.

Verwandte Tools