Zum Inhalt springen

Flexbox-Spielwiese

Flexbox Playground

Schaltet jede Flex-Eigenschaft an einem Live-Beispiel um und zeigt das CSS und was jede Eigenschaft geändert hat.

Jede Flexbox-Eigenschaft an einem lebenden Beispiel, mit einer Zeile unter jedem Bedienelement, die sagt, was sie tatsächlich tut. Die Vorschau ist das Flex-Layout des Browsers selbst, und das CSS ist dieser Zustand aufgeschrieben, was Sie sehen, ist also, was Ihre Seite tun wird.

🔒 Läuft vollständig in Ihrem Browsercssflexboxlayoutlearn

Vorschau

Klicken Sie ein Element an, um rechts seine eigenen Eigenschaften zu ändern.

Container

Element 1

Code

Ausgabe
  • · Die Hauptachse verläuft waagerecht.
  • · Alle flex-grow stehen auf 0, also verteilt justify-content den freien Platz.

Eigenschaften, die auf ihrem Standardwert stehen, werden nicht ausgegeben. Es erscheint nur, was Sie geändert haben.

Die Vorschau ist die Flexbox des Browsers selbst, und das CSS ist dieser Zustand aufgeschrieben — was Sie hier sehen, tut die Seite also auch. Für ein zweidimensionales Layout gehen Sie zu dem CSS-Grid-Builder.

So funktioniert es

  1. Setzen Sie die Container-Eigenschaften

    Richtung, Umbruch und die drei Ausrichtungseigenschaften. Jede hat einen Satz darunter, der erklärt, was sie ändert – `align-content` insbesondere tut bei einer einzelnen Zeile überhaupt nichts.

  2. Klicken Sie ein Element an, um es zu bearbeiten

    Grow, shrink, basis, align-self und order gelten für ein Element. Fügen Sie Elemente hinzu und entfernen Sie welche, um zu sehen, wie der Container neu verteilt.

  3. Lesen Sie die Hinweise und kopieren Sie das CSS

    Das Panel beschreibt, was Ihr aktuelles Layout tatsächlich tun wird, und die Ausgabe lässt jede Eigenschaft weg, die noch auf ihrem Standardwert steht – was Sie kopieren, ist also nur, was Sie geändert haben.

Häufige Fragen

Warum läuft mein Element über, statt zu schrumpfen?

Entweder `flex-shrink: 0`, oder ein Kind mit einer Mindestinhaltsgröße. Die `min-width` eines Flex-Elements ist standardmäßig `auto`, was bedeutet, dass es nicht unter seinen Inhalt schrumpft – eine lange ununterbrochene Zeichenkette oder ein breites Bild ist der übliche Übeltäter. `min-width: 0` ist die Lösung.

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

`align-items` platziert jedes Element auf der Querachse. `align-content` platziert den *Block der Zeilen*, wenn der Umbruch mehr als eine erzeugt hat – mit `nowrap` oder mit einer einzelnen Zeile tut es also überhaupt nichts. Das ist die häufigste Quelle von „diese Eigenschaft ist kaputt“.

Sollte ich `order` verwenden, um Dinge umzuordnen?

Sparsam. Es ändert die visuelle Reihenfolge und nicht die DOM-Reihenfolge, Screenreader und Tab-Reihenfolge folgen also weiterhin dem Markup. Ein Tastaturnutzer, der durch ein visuell umgeordnetes Layout tabbt, springt über den Bildschirm – und deshalb nennt die Spezifikation es einen letzten Ausweg.

Flexbox oder Grid?

Flexbox für eine Dimension – eine Reihe von Buttons, eine Werkzeugleiste, das Innere einer Karte. Grid, wenn Zeilen und Spalten miteinander fluchten müssen. Wenn Sie Flex-Container verschachteln, um ein Grid vorzutäuschen, wollen Sie ein Grid.

Eingabe aus

Danach

Diese Tools nehmen an, was dieses hier erzeugt, das Ergebnis kann also direkt weiter.