每个学CSS的人都背过那句咒语:justify-content: center。背了忘,忘了背,写的时候还是要靠猜。Flex布局就这么个东西——概念只有十来个,折磨程序员整整十年。2015年前后,一位叫Thomas Park的设计师把这只人人喊打的怪兽抓进了池塘:GitHub上的flexboxfroggy,用一群青蛙和一池荷叶,把CSS Flexbox变成了二十来道解谜关。
游戏免费,代码开源。但这位作者的算盘远不止“开源做慈善”——这只青蛙,是他一门真生意的看门招牌。
一句话:写CSS把青蛙挪到荷叶上,挪对了就过关。
每一关,屏幕上是两样东西:几只青蛙,几片荷叶,位置错开。下方一行输入框,等一句CSS。你写下justify-content: flex-end;按回车,青蛙“呱”地一声齐刷刷跳到右边荷叶上——过关。写错了,青蛙该蹲哪儿蹲哪儿,一动不动,改一改再试。
二十来道关卡,就是一份Flex属性教学大纲的通关化:从justify-content(水平怎么排)、align-items(垂直怎么对)开始,到flex-direction(横竖轴翻转)、order(插队)、align-self(单飞)、flex-wrap(换行)、align-content(多行对齐),一个属性一道坎,最后几关把所有属性揉在一起考。
整个核心循环长这样:
flowchart TD
A["进入关卡: 青蛙与荷叶错位摆放"] --> B["读题: 观察差了哪几个位置"]
B --> C["写一行CSS"]
C --> D{"提交判分"}
D -->|"布局命中"| E["青蛙跳上荷叶 动画反馈"]
E --> F["过关 下一关属性更难"]
D -->|"布局不对"| G["青蛙原地不动 无惩罚"]
G --> B
F --> H{"还有关卡吗"}
H -->|"有"| A
H -->|"通关"| I["属性大纲学完 分享战绩"]
I --> J["意犹未尽? 去作者的游戏平台"]
循环的最后一环藏在通关页:这只青蛙不是孤品。作者手里还有Grid Garden(教Grid布局的萝卜园)、Flexbox Defense(用CSS摆塔防)一整套同门游戏,以及一个把它们攒在一起的学习游戏平台Codepip。
一个教学页面能让人一口气玩穿二十几关,靠的不是可爱青蛙,是几条设计被抠到了极致:
反馈即报错,报错即提示。 传统教程的反馈是文字:“你的代码有误”。Flexbox Froggy的反馈是画面本身:青蛙没到荷叶上,就是错;到了,就是对。错误信息不需要读,看一眼就懂——而且错在哪一目了然:两只青蛙纹丝没动,问题多半出在justify-content;荷叶在下面没对齐,那就该查align-items。反馈的速度和精度,就是解谜游戏上头感的全部来源。
零惩罚重试。 没有分数,没有计时,没有生命值,错了没有任何代价。心理学上这砍掉了“失败恐惧”,让人敢于乱试——而乱试恰恰是学CSS最快的路径。很多人第一次真正理解space-between和space-around的区别,不是读文档读会的,是在这游戏里连错三次之后突然开窍的。
关卡是顿悟的定时投放。 每关只引入一个新概念,通关的钥匙永远是“啊哈”一声的理解,而不是背答案。教学设计里这叫“最近发展区”:踮踮脚够得着。二十来道关卡排成一条连续的顿悟流水线,每一两分钟放出一个,多巴胺按关卡结算。
完成度强迫症。 游戏没有任何社交、排行、云存档,但“就差三关”这件事自带驱动力。二十来分钟的通关总时长,恰好卡在“一鼓作气”的区间——太短显得廉价,太长必然弃坑。
来玩的人本来就带着任务。 这是教育游戏独有的钩子:玩家不是来消遣的,是来学CSS的。动机是现成的,游戏只需要解决“学不下去”这一个问题。需求自带、留存自来的生意,纯娱乐赛道求都求不来。
这个仓库本身一分钱不挣:免费、开源、无广告。但它是一桩被验证过的生意的门面。
作者的核心动作是“游戏攒平台”。 Thomas Park先做了Flexbox Froggy(上线后在前端圈爆红),接着用同一套骨架做了Grid Garden、Flexbox Defense等一整排学习游戏,然后把它们攒进自己的平台Codepip:部分游戏和关卡免费,进阶内容和完整游戏走订阅付费(据其官网)。免费的青蛙负责全网引流和搜索占位——全球学CSS的人在搜索引擎里撞见的第一站就是它——付费平台负责把流量换成收入。典型的免费增值漏斗,只是漏斗的每一节都是游戏。
同类先例证明这不是孤例。 另一位开发者geddski做了Flexbox Zombies,把Flex教学包装成僵尸生存剧,付费解锁(据其官网);更早的编程解谜、打字练习网站,也各自验证过“游戏化教学有人愿意掏钱”。再往大了看,Duolingo把语言教学游戏化做到市值以百亿美元计,证明这条路的尽头足够宽。
教育游戏和纯游戏的变现有个本质区别:玩家为消遣付费,要跟3A大作抢注意力;学员为“学会”付费,是天经地义。同一份内容,换个叙事框架,付费意愿差一个数量级。个人开发者的优势恰恰在这——大厂看不上小赛道,而“教Excel函数”“教正则”“教SQL”每一个细分,都养得活一两个独立站点。
1. 两周MVP:换一门“有即时视觉反馈”的技能,做同款。 骨架照抄青蛙:关卡数据+判分器+静态站。选品的唯一标准是“结果能画出来、错误能看出来”——写SQL把数据从表里“捞”出来、写正则把匹配的字符“钓”上来、写Excel公式把乱账理顺(打工人市场比程序员大三倍)。两三周出可玩版本,先挂广告位和打赏;攒到五六个游戏后,照Codepip的路子组订阅平台,这才是这门生意的正规打法。
2. 换题材融合:把“写代码过关”嫁接进国内刚需。 国内版的机会点在职场技能:SQL刷题游戏(数据分析师人手一份的焦虑)、Excel函数游戏(财务和运营的日常)、正则表达式游戏(后端和爬虫圈的暗号)。流量打法天然适合中文社区——通关截图本身就是梗图,“这游戏治好了我十年的flex恐惧症”是现成的传播文案。
3. 加一层钩子:把玩家变学员,把学员变班级。 原版没有账号体系,这是它作为公益项目的浪漫,也是它作为产品的天花板。反过来做:每日一题(Wordle式分享战绩)、闯关排行榜、关卡编辑器让老师自己出题布置作业、按班级收订阅费。教育游戏真正的买家从来不是玩家本人,是老师和培训机构——他们付的不是娱乐费,是教学效率的钱。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
