Cover image for 8 Games to learn CSS the fun way

CSS Game 8 Games to learn CSS the fun way

devmount profile image Andreas Updated on ・4 min read

I must admit, I have trouble remembering things. Especially when it comes to CSS. The Flexbox Layout for example. The property justify-content of a flex container can have more than 12 different values where many can be combined with the keywords safe or unsafe. To read the complete guide to flexbox on CSS Tricks, you have to scroll through a two column page with a height of more than 20k pixels - and although the title implies it, they are not covering everything.

I recently stumbled upon a tower defense game teaching flexbox, which really...
Wait, a what?
Yes, it turned out, that there are quite a lot of games out there, helping to teach CSS. I collected some free CSS games that were useful for me and maybe can help you have some fun with CSS again!

1. Flexbox Defense

CSS Game Flexbox Defense

I was just mentioning this game. It covers the flex properties align-items, justify-content, flex-direction, align-self and order in 12 different levels. Especially the last 4 levels are really fun and a little bit tricky.

2. Flexbox Froggy

CSS Game Flexbox Froggy

This game is also about Flexbox and it covers even more flex properties: align-items, justify-content, align-content, flex-direction, align-self, flex-wrap, flex-flow and order in 24 different levels. Drop a comment, if you solved the last level 😅.

3. Grid Garden

CSS Game Grid Garden

In 28 different levels you can learn CSS Grid Layout. It covers the following grid properties: grid-column-start, grid-column-end, grid-column, grid-row-start, grid-row-end, grid-row, grid-area, order, grid-template-columns, grid-template-rows and grid-template.

4. CSS Diner

CSS Game CSS Diner

This is a little game about all kinds of CSS selectors. Try to master all 32 levels to call yourself a CSS selector expert - and hungry 😋.

5. Unfold

CSS Interactive Presentation Unfold

This isn't exactly a game but more an interactive presentation about CSS 3D Transforms. You may think this is boring but trust me: The animations are 🔥 and you wouldn't think this is possible with pure CSS.

6. Roadmap

CSS Game Roadmap

Skill and speed are required to solve this little game, only made with CSS and HTML. It is not directly teaching CSS, but looking into the source code teaches a lot about clip-path, transform and animation with @keyframes!
Drop a comment how many attempts you needed to win - I needed 8! 😅

7. Carnival

CSS Game Carnival

You only have 8 seconds to hit all targets! A nice little CSS game using checkboxes and CSS animations.

8. Tic-Tac-Toe

CSS Game Tic-Tac-Toe

And at last a classic. Tic-Tac-Toe as pure CSS game with 2 levels of difficulty also using checkboxes and CSS animations.


And here comes the bonus part with recommendations from the comments:

9. Flexbox Zombies

CSS Game Flexbox Zombies

This is a storyline driven training course where you learn to use Flexbox and a crossbow to hunt zombies. A registration is required.

10. Service Workies

CSS Game Service Workies

In this adventure you'll learn how to avoid the PWA pitfalls. You'll level up your skills and thrive with Service Workers. Perhaps even slay the savage beasts that have plagued the poor village workies for centuries! A registration is required.

11. Grid Critters

CSS Game Grid Critters

Your journey to master CSS Grid begins on the mysterious planet Grideros. Your mission is to use your ship's powerful Grid tool to save alien critters from extinction. A registration is required.

Wrapping it up

Doesn't matter if you're a beginner or an expert - I hope you had fun playing some games and at the same time learning something about CSS! Especially on Codepen you can find a lot of awesome games people created just using HTML and CSS.

If you know other great CSS learning games, let everyone know in the comments below.

Edited: 29th October 2019 (add 3 bonus games from Dave Geddes recommended in a comment)
Edited: 28th October 2019 (switch from wrong flexbox example justify-items to justify-content)
Originally published: 24th October 2019 on Medium

Posted on by:

devmount profile



creator. developer. consultant. freelancer. javascript. php. python. css. husband. dad². guitarero. climber. retro gamer.


Editor guide

Yop, solved the last level of Flexbox Froggy, very interesting game !

Here is the solution I found if you want to try :

flex-direction: column-reverse;
flex-wrap: wrap-reverse;
justify-content: center;
align-content: center;

Awesome, congrats! 👏🏻

Can you recheck your solution? I think you have a small mistake - align-content needs to have the value space-between for me 😇


Oh yup you're right, mistake while copying, sorry for this ^


How could a list of CSS games be complete without Dave Geddes's creations?

Flexbox Zombies (free) - mastery.games/p/flexbox-zombies
Grid Critters ($179 and worth it) - gridcritters.com/

He also has another free game on Service Workers that's partly available as he's developing it. serviceworkies.com/


Thank you for these recommendations! Didn't know about Dave Geddes's games until now! I added a bonus section with these games to this post ✔️


$179 or even the reduced price of $99 is way too expensive for a game of this type... It is supposed to be fun and educational, this price wipes out both those qualities at the same time...


Yay! I did one of those! :D


Yes! How awesome that you're on dev.to too! Thank you for building inspiring things 💪🏻!


If you liked the Tic-Tac-Toe, there some more CSS games here.


I love each and every one of these. Having an instinctual understanding of "the grid" is what will ultimately ensure your sanity.

Now if only we can go about gamifying SASS/LESS concepts. I wish there were more functions/mixins in my stylesheets.


Awesome idea! It was the same for me with SASS. Make sure to look at this SASS in 15 minutes tutorial - it shows all core concepts with examples and with a little bit of practice, mixins will quickly become demystified :)


I'd already played the Flexbox Froggy and Grid Garden, both excellent.
I just played Flexbox Defense and managed to score 100 on every level, albeit on a second attempt on one of them.


Nice work, congrats! 🎉


This post spawned just when I needed it. Will totally start learning CSS with this.
Thank you!


I'm so glad to hear this! If you're starting with CSS, game 4 (the CSS Diner) would be a good choice, for selectors are one of the most basic things. I hope you enjoy your CSS journey!


Wonderful.Fun way to learn CSS


These css games really remind me of childhood even though it came into being later and practically based on iframe. Currently, android games are much more popular, there are many websites that offer free games such as gamedva.com


Great work I'm sriram fullstack javascript developer I have a whatsapp group dedicated to coders so that you can chat and collaborate on fun hobby projects with real people if you are interested please ping me at +918970787208


CSS Diner Great Resource to test some skills.


That's true - especially for the [attribute...] selectors! A very good exercise to distinguish between [attribute^="value"], [attribute$="value"] and [attribute*="value"] 😅


I've played the first 3 games.
The carnival one seems interesting I will give it a try


Awesome! Took me quite some time to finish the Grid Garden 😅


Yes I just solved Flexbox Froggy lvl 24, I ended up using 3 lines and that's how I learned that properties can be grouped in flex-flow. Really fun game can't wait to try thew rest :)


I first-tried the Roadmap thingy, using the MBPs touchpad might've helped a little with that. 😁


Haha nice one! It surely depends on the input device 🕹️


Just in case, in the first paragraph you're talking about justify-items which is ignored when used on a Flexbox container (as per the MDN doc). Maybe you were talking about justify-content?


My fault, you're totally right! Updated it with justify-content - thanks for pointing out!


CSS diner is the most useful game for me as I am in-charge of training new batch at our company... I will use it to teach CSS to the new batch now-onwards.