- Der CSS Flexbox Playground ist ein Lernwerkzeug, mit dem sich Flexbox-Eigenschaften in Echtzeit verändern lassen, um Layout-Änderungen zu beobachten
- Durch das Anpassen der Steuerelemente lässt sich direkt vergleichen, wie sich Flex-Einstellungen auf die Anordnung auf dem Bildschirm auswirken
- Das Standardbeispiel startet mit der Kombination
display: flex, flex-direction: row, justify-content: space-around, align-items: flex-start, flex-wrap: nowrap
- Die Elemente
1 bis 5 auf dem Bildschirm bewegen sich je nach geänderter Einstellung, sodass sich das Layout-Ergebnis leicht visuell nachvollziehen lässt
- Der erzeugte CSS-Code kann kopiert werden, wodurch sich die getesteten Einstellungen gut in echten Code übernehmen lassen
Interaktives Werkzeug für Flexbox-Experimente in Echtzeit
- Der CSS Flexbox Playground ist ein interaktives Werkzeug zum Lernen und Experimentieren mit Flexbox-Eigenschaften
- Wenn die Steuerelemente angepasst werden, werden Layout-Änderungen in Echtzeit übernommen
- Der als Ergebnis des Experiments erzeugte CSS-Code kann kopiert werden
Standard-Beispielkonfiguration
- Die Beispielkonfiguration für
.container verwendet das folgende CSS
.container {
display: flex;
flex-direction: row;
justify-content: space-around;
align-items: flex-start;
flex-wrap: nowrap;
}
- Auf dem Bildschirm werden die Elemente
1, 2, 3, 4, 5 angezeigt, sodass sich das Ergebnis der Flexbox-Anordnung überprüfen lässt
1 Kommentare
Meinungen auf Hacker News
Flexbox selbst ist einfach und logisch, aber die Namen der Properties und Werte wurden offenbar auf Komitee-Art festgelegt und sind daher nicht intuitiv
Wenn man sich zu merken versucht, was nun
justify-contentund wasalign-itemsist, gibt man am Ende auf und probiert einfach herum, bis es funktioniertEs gibt auch einen ähnlichen Guide für Grid, und der ist ebenfalls hervorragend
Besonders wichtig ist das in SPAs, wenn Boxen den Bildschirm füllen, aber nicht überlaufen sollen. Am Ende streut man überall völlig unintuitive Einstellungen wie
min-width: 0ein, dreht noch an ein paar anderen Dingen, und irgendwie funktioniert es dannMan könnte vermutlich ein paar CSS-Klassen bauen, die all das abdecken, aber eine Lösung für wirklich alle Fälle habe ich noch nicht gefunden
display: flex-Regel klickt, werden mehrere Flexbox-Properties als Icons visualisiert und lassen sich per Klick direkt setzenDamit wird praktisch jede Seite zum Experimentierfeld
justify-content: centerwird zujustify-center,align-items: centerzuitems-center– keine Ahnung, warum man das so gemacht hatjustify-contenthättemain-axisheißen sollen,align-itemsentsprechendcross-axisWenn man das versteht, wird Flexbox insgesamt leicht
Wurde zwar schon oft genannt, aber ich habe Flexbox Froggy https://flexboxfroggy.com/ immer empfohlen, und andere haben es damit schnell gelernt
Zum Lernen von CSS Grid ist auch https://cssgridgarden.com/ gut
Ähnlich wie https://www.codemonkey.com/, das eher für Kinder gedacht ist
Für Bootstrap-Code ist https://build.layoutit.com/ nützlich, und für CSS Grid gibt es https://grid.layoutit.com/. Schade ist nur, dass Ersteres nicht Bootstrap 5, sondern nur bis Bootstrap 4 unterstützt
Ich empfehle Joshs Guide https://www.joshwcomeau.com/css/interactive-guide-to-flexbox/ sehr
Er behandelt ausführlich fortgeschrittenere Fallstricke und Tipps wie
flex-basis, automatische Margins undmin-widthIch dachte, ich kenne mich mit Flexbox und Tailwind-CSS-Komponenten ziemlich gut aus, aber dieser Artikel hat genau den Bedarf nach einer theoretischen Grundlage gestillt
Ein guter Playground
Vor ein paar Jahren habe ich einen interaktiven Guide erstellt, der am Ende einen ähnlichen Playground enthält: https://lik.ai/guides/an-interactive-guide-to-flexbox/
Er war gelegentlich nützlich, um die Erinnerung aufzufrischen
Es ist 2025, zwei Jahre und drei Tutorials später, und ich kann Flexbox immer noch nicht richtig benutzen
https://flexboxfroggy.com/ hat auch nicht viel geholfen
justifyundalignsind beim ersten Versuch immer vertauschtAlles Mögliche, einschließlich CSS-Float-Layouts, bleibt mir jahrelang im Kopf, aber wenn ich Flexbox ein paar Monate nicht benutze, vergesse ich 80 % davon und muss wieder von vorn lesen und Zeit im Playground verbringen
Das Problem ist, dass es zu viele Property-Namen gibt, von denen sich viele nicht intuitiv anfühlen oder einfach falsch benannt wirken. Selbst ein- oder zweibuchstabige Symbolnamen wären vermutlich ähnlich gut gewesen
Ich hoffe, dieses Tool hilft; wenn etwas fehlt, wäre Feedback gut
Warum heißen diese Eigenschaften eigentlich
justify-contentundalign-items?main-axis-arrangementundcross-axis-alignmentwären doch sinnvoller, oder?Das gilt auch für Dinge wie
color,text-align,position: absoluteundposition: fixed; selbstabsoluteist technisch gesehen immer noch relativ.justify-itemsundjustify-self, insofern ist es konsistent.Trotzdem verwechsle ich es immer noch mit
align-content.grid-templatezuerst die y-Achse angibt, ist verwirrend:y1 / x1 / y2 / x2Außerdem beginnt es nicht einmal bei 0, sodass ich es jedes Mal wieder vergesse.
Ein Tailwind-Alias-Plugin, das etwa
cross-axis-centeraufalign-items: centerundmain-axis-betweenaufjustify-content: space-betweenabbildet, ließe sich schnell bauen.Natürlich kann man das ändern, aber das Standardverhalten von Flexbox wird von dieser Eselsbrücke abgedeckt.
Als ich Flexbox gelernt habe, habe ich ein Cheat Sheet erstellt, um Eigenschaften nachzuschlagen.
Es könnte auch für andere nützlich sein: https://darekkay.com/flexbox-cheatsheet/
Als schnelle visuelle Cheat Sheet ist es gut, aber am Ende muss man es wohl an vielen Stellen in Projekten verwenden, damit es in Fleisch und Blut übergeht.
Die Syntax ist größtenteils selbsterklärend, aber
rowundcolumnsind die Ausnahme.Mit Flexbox oder Grid hatte ich meistens keine großen Probleme, aber ich sehe, dass viele Leute damit durcheinanderkommen. Wenn man das Box-Modell versteht und die Firefox-Entwicklertools nutzt, hilft das sehr beim Lernen des Flexbox-Modells. Sie visualisieren Container ziemlich gut, und inzwischen scheint Chrome DevTools etwas Ähnliches zu können.
flexboxfroggy und cssgridgarden waren ebenfalls nützlich zum Üben. Trotzdem öffne ich jedes Mal das CSS-Tricks-Cheat-Sheet, um die Syntax nachzuschlagen, und ob es
rowodercolumnist, treffe ich beim ersten Versuch nie.Man kann den Flex-Modus schnell ein- und ausschalten: https://imgur.com/a/17iy1eN
Dieses Tool wirkt sehr eingeschränkt, weil es nur vier Container-Eigenschaften behandelt.
Die in Flexbox ziemlich wichtigen Eigenschaften der Kindelemente fehlen komplett.
Eine interessante Sammlung von Aufgaben zum Üben von CSS-Layouts wäre schön.
Gute Erläuterungen und Erklärungen wären hilfreich, ebenso Debugging-Aufgaben wie „Warum erzeugt dieses Codefragment nicht das gewünschte Layout?“.
Beim Debuggen von CSS-Problemen war ChatGPT ziemlich hilfreich. Es liegt nicht immer richtig, weist aber meistens in die richtige Richtung. Trotzdem möchte ich tiefer verstehen, wie CSS tatsächlich funktioniert. Ich habe Bücher und Tutorials gelesen und weiß, dass es letztlich ein Regelwerk ist, aber die genaue Anwendung ist schwierig.
Ich bitte oft darum, CSS so zu korrigieren und neu zu schreiben, dass es wie gewünscht aussieht, und das geht viel schneller, als Dokumentation zu durchsuchen.