Flexbox Froggy
(flexboxfroggy.com)- Ein interaktives Lernspiel, bei dem man CSS flexbox direkt eingibt, um Frösche zu Seerosen zu schicken, sodass sich die Wirkung von Ausrichtungseigenschaften sofort auf dem Bildschirm nachvollziehen lässt
- Im ersten Level ist
#pondbereits mitdisplay: flex;gesetzt, und die horizontale Ausrichtung wird überjustify-contentverändert justify-contentsteuert die Anordnung von Elementen im Container mit Werten wieflex-start,flex-end,center,space-betweenundspace-around- Gibt man zum Beispiel
justify-content: flex-end;ein, bewegt sich der Frosch zur rechten Seerose, wodurch sich Eigenschaft und Ergebnis direkt verknüpfen lassen - Insgesamt besteht das Spiel aus 24 Leveln und bietet mehrere Sprachen einschließlich Koreanisch sowie einen Modus zur Farbsehkorrektur
CSS flexbox spielerisch lernen
- Flexbox Froggy ist ein Spiel, in dem man mit Froggy und seinen Freunden CSS flexbox lernt, indem man sie an die Zielposition bringt
- Wenn man Eigenschaften im CSS-Bearbeitungsbereich für
#pondeingibt, ändert sich die Position der Frösche - Im ersten Level besteht die Aufgabe darin, den Frosch mit
justify-contentzur rechten Seerose zu bewegen - Im Grundgerüst des Codes wird folgende Struktur angezeigt
#pond {display: flex;}
Horizontale Ausrichtung mit justify-content
justify-contentist eine Eigenschaft zur Ausrichtung von Elementen in horizontaler Richtung- Folgende Werte können verwendet werden
flex-start: richtet die Elemente links im Container ausflex-end: richtet die Elemente rechts im Container auscenter: richtet die Elemente mittig im Container ausspace-between: setzt den gleichen Abstand zwischen die Elementespace-around: setzt den gleichen Abstand um die Elemente herum
- Mit
justify-content: flex-end;bewegt sich der Frosch nach rechts, sodass sich Eigenschaftswert und Layout-Ergebnis direkt vergleichen lassen
Aufbau und verwandte Lernmaterialien
- Das Spiel wird als Level 1 of 24 angezeigt, und in den Spracheinstellungen sind mehrere Sprachen einschließlich Koreanisch verfügbar
- Als verwandte Spiele zum weiteren CSS-Lernen sind Grid Garden und Anchoreum verlinkt
1 Kommentare
Meinungen auf Hacker News
Es gibt auch andere spielerische Ressourcen, mit denen man CSS gut lernen kann
https://cssgridgarden.com/ — kommt Froggy für Grid nahe
https://cssbattle.dev/ — eine Plattform zum Lösen verschiedener Challenges, mit großer Community
https://flukeout.github.io/ — lernt CSS-Selektoren
https://css-animations.io/ — übt CSS-Animationen
https://css-tricks.com/understanding-flex-grow-flex-shrink-a... — erklärt flex-grow, flex-shrink und flex-basis
Selbst wenn man jahrelang mit CSS arbeitet, sind Flex-Eigenschaften wie align-content und align-items jedes Mal wieder verwirrend
Es fühlt sich an, als würde man ein USB-Kabel immer falsch herum einstecken; bei align und justify ist es genauso
CSS Grid ist ebenfalls wirklich großartig. Inzwischen gibt es so viele hervorragende Layout-Optionen, dass wir ziemlich verwöhnt sind
Ich habe mir beide Spickzettel ausgedruckt und auf den Schreibtisch gelegt; wirklich wertvolle Ressourcen
[0] https://css-tricks.com/snippets/css/a-guide-to-flexbox/
[1] https://css-tricks.com/snippets/css/complete-guide-grid/
justify-bezieht sich auf die Hauptachse,align-auf die Querachse-contentwird für Grid-Tracks oder Zeilen in einemflex-wrap-Container verwendet,-itemsfür einzelne Kindelemente, also für Elemente innerhalb einer Zeile oder Grid-ZelleTrotzdem wären klarere Namen wünschenswert
flex-directionhinweg verallgemeinert werden. Deshalb hängt eine Eigenschaft wieflex-alignvon der Richtung des Elternelements abIn der Praxis ist es sehr selten, dass man durch das Ändern der Richtung einen großen Vorteil hat
Ich weiß nicht, ob das der einzige Grund ist, daher würde ich nicht kategorisch sagen, dass es eine schlechte Entscheidung war, aber ich kann mir genauso wenig merken, welche Seite welche ist
Bessere Namen, die die Achse direkt erkennen lassen, oder Eigenschaften, die unabhängig von der Richtung des Elternelements sind, wären schön gewesen; bis dahin muss man eben Spickzettel verwenden
Allerdings muss ich mich nicht oft darum kümmern; vielleicht bleiben sie mir deshalb noch weniger im Gedächtnis
Mit solchen Spielen habe ich wirklich viel gelernt. Vim habe ich auch über https://vim-adventures.com/ gelernt, und inzwischen kann ich fast nicht mehr ohne Vim leben
Frühere HN-Beiträge:
https://news.ycombinator.com/item?id=30251054 2022, 317 Punkte, 31 Kommentare
https://news.ycombinator.com/item?id=22629903 2020, 27 Punkte, 2 Kommentare
https://news.ycombinator.com/item?id=21796926 2019, 2 Punkte, 0 Kommentare
https://news.ycombinator.com/item?id=18752031 2018, 3 Punkte, 0 Kommentare
https://news.ycombinator.com/item?id=18731852 2018, 6 Punkte, 1 Kommentar
https://news.ycombinator.com/item?id=15605783 2017, 4 Punkte, 0 Kommentare
https://news.ycombinator.com/item?id=14349739 2017, 3 Punkte, 0 Kommentare
https://news.ycombinator.com/item?id=10652909 2015, 315 Punkte, 69 Kommentare
Hervorragend. Ich habe es früher genutzt, als ich flexbox gelernt habe.
Vom selben Entwickler gibt es auch https://codepip.com/games/grid-garden/; damit lernt man CSS Grid nach demselben Ansatz.
Vermutlich, weil man Probleme, die dank des bereits Gelernten einfach wirken, nach und nach schwieriger löst und so ein sehr natürlicher Lernpfad entsteht.
Früher habe ich dieses Spiel mit Spaß gespielt, um CSS-Selektoren zu lernen: https://flukeout.github.io/
Guess CSS hat ebenfalls einen Flexbox-Abschnitt, legt den Schwerpunkt aber eher auf das Lesen von CSS als auf das Schreiben: https://www.guess-css.app/
positionhabe ich ganz offensichtlich wirklich überhaupt nichts verstanden.Die anderen Aufgaben konnte ich immer wieder richtig lösen, aber bei position lag ich ständig falsch.
Sehr nützlich. Ich suche am Ende immer wieder nach der vertikalen Ausrichtung in flexbox.
Damit man sein flexbox-Wissen in Eile schnell auffrischen kann, wäre eine Funktion schön, bei der man den Frosch per Drag-and-drop in ein 3x3-Raster zieht und der passende flexbox-CSS-Code ausgegeben wird.
Trotzdem ist es ein sehr sorgfältig gemachtes Tutorial.
Ich sage das, weil ich persönlich aufgegeben habe, mit neuen CSS-Funktionen ständig Schritt zu halten. Ich nutze CSS seit IE7-Zeiten immer mal wieder, und nachdem ich die Zeit erlebt habe, in der man Vendor-Prefixes von Hand geschrieben hat, sowie die neuen Features, die Chrome Canary vorangetrieben hat, habe ich keine Energie mehr, CSS-Tricks ständig im Kopf zu behalten.
Für die meisten UIs reicht flexbox völlig aus; im Grunde ist es ein Werkzeug, um Elemente vertikal und horizontal anzuordnen, wie stack/group oder vbox/hbox.
Man muss flexbox lernen. Es ist das Nützlichste, was in CSS-Layout Einzug gehalten hat, und wirklich simpel. Abstände macht man mit
gap, die Ausrichtung im Wesentlichen mit justify und align; 99 % sind damit erledigt.Ich mag Flexbox Froggy. Man kann wohl sagen, dass eine ganze Entwicklergeneration auf dieser Seite flexbox gelernt hat. Ich auch.
Zu dem Zeitpunkt hatte ich bereits 15 Jahre lang CSS verwendet.
Ein erstaunliches Lernwerkzeug.
Auch Josh Comeaus interaktiver Guide zu flexbox ist sehenswert: https://www.joshwcomeau.com/css/interactive-guide-to-flexbox...
Gut. Eine Tailwind-Version wäre auch schön.