
从 CSS Zen Garden 到重建 Firefox.com:一个独立开发者等了 18 年
2008 年刚毕业时他被 CSS Zen Garden 打动,2026 年他与 Mozilla 团队合作,用不带预处理器的原生 CSS 参与重建了 Firefox.com:70 多个组件、25 个页面模板、19 种语言,还有一条关于「无构建步骤」的诚实话。
原文来源:Joe Sprague — 一位独立前端开发者讲述自己如何用原生 CSS 参与重建 Firefox.com,以及这件事背后 18 年的技术演进。
一个 2008 年的梦
2008 年,Joe Sprague 刚从大学毕业,他遇到了 CSS Zen Garden——Dave Shea 办的那个项目:同一份 HTML 文件,只靠 CSS 就能被重新设计成完全不同的样子。
对当时的他来说,那是对一种未来可能性的一瞥:设计干净、可复用,和内容彻底分离。
然后他一头撞进真实客户项目,梦就碎了。
那时候没有 CSS 变量;可用的属性根本表达不出设计稿的全部效果,于是大家只能靠服务端处理、图片切图、表格布局和无穷无尽的取巧写法(hack)去凑。每个浏览器渲染结果都不一样,大量工作只是让同一个设计在所有浏览器上别出岔子。CSS Zen Garden 展示了理论上可能的样子,生产环境是另一回事。
这个落差,用了将近 18 年才填平。而且绝大部分的填平发生在最近几年:自定义属性给了浏览器能理解的变量;Grid 和 Flexbox 给了不和媒介对抗的布局;2008 年缺的那些属性现在都有,而且实现一致到你可以照着它们设计,而不是绕着它们设计。
—— 广告 ——
他把这件事做在 Firefox.com 上
2026 年,这个落差终于合上了。Joe 与 Mozilla 以及 Lincoln Loop 团队合作重建 Firefox.com,整套系统用现代原生 CSS 写成,没有预处理器。
具体做法:自定义属性直接从设计文件导出,原生 CSS 只写一遍、不带任何 hack,在所有现代浏览器里工作;再配一份极简的品牌样式表,给老浏览器兜底,保证品牌呈现仍可访问。
规模上:70 多个组件的设计系统、25 个页面模板,全部实现为 Wagtail 组件,网站内容团队不需要工程支持就能自己拼页面。站点目前支持 19 种语言。
为什么这件事对他有特殊意义:Firefox.com 是一个关于浏览器的网站,由那个为 Web 平台倡导了二十多年的组织做的,而这次是用它自己的平台把它建出来的。"很难想到还有更合适的地方去验证平台是否真的准备好了。答案是:准备好了。"
那条关于「无构建步骤」的实话
文章里最有价值的一段,是他主动承认的例外。
他们最终在生产环境里确实用了 PostCSS,但只干一件事:内联 @import 语句。原因是原生 @import 在某些浏览器里的性能表现依然很糟,在 Firefox.com 这种体量的站点上,这一点比架构上的纯粹更重要。
关键区别在于:手写的 CSS 仍然是普通、原生的 CSS,不依赖任何构建步骤来保持合法、也不依赖构建才能被理解。构建只做一件浏览器本来会串行请求的事——把它拍平。
他把这个区分讲得很清楚,也值得在下次听到有人宣称"我们这个项目没有构建步骤"时想起来:真正要看的不是有没有构建,而是你写的源码是不是浏览器本身会说的语言,还是一个只在编译前存在的方言。
这个判断标准,比"要不要用 Tailwind"这类争论有用得多。它把问题从工具之争拉回到交付物本身。
这条路对独立开发者意味着什么
Joe 在结尾写了他所有工作里的那条主线:设计系统,让团队跑得快还能保持一致——不管积木是纯 CSS、Tailwind 还是 shadcn/ui。
工具每几年换一轮,不变的是这样一件事的价值:在一个把"正确做法"变成"最省事做法"的系统里,设计师的决定能一路走到生产,中途不用被翻译三次。
对独立开发者来说,这里面有两条可以拿走的东西。
第一,技术判断力本身就是获客资产。他能拿到 Mozilla 这个项目,靠的不是某个框架的熟练度,而是这十八年里对"平台到底能不能支撑这件事"的持续跟踪——这种判断力很难被一个刚学完教程的人复制,也很难被 AI 一次性生成。文中他郑重感谢了一串人:Nicole Sullivan、Rachel Andrew、Jen Simmons、Chris Coyier,以及把他的项目引荐给 Mozilla 的 Kasey Kelly,和家乡偶像 Eric Meyer。他把自己的机会明确归因于这个知识共同体,而不是个人天赋。
第二,"少翻译一次"就是真实的成本节约。设计稿到生产的翻译次数,直接对应返工和沟通成本。一个 70 组件的系统让内容团队自己拼页面——这背后省掉的是工程排期,对只有一两个人的独立项目来说,这笔账比技术优雅重要得多。
顺带一提
这篇文章本身就是一次很克制的表达:没有"颠覆""革命"这类词,主动交代了 PostCSS 的例外,承认浏览器兼容还需要一份兜底样式表。
在一个到处都在宣布"某某已死"的行业里,一个做了 18 年这件事的人给出的结论是:"平台准备好了。"这句话的重量,恰恰来自他承认了平台还没准备好的那部分。
© 2026 四月
原文链接:https://www.aprilzz.com/indie/firefox-com-native-css-rebuild
相关文章
每月 20 美元的技术栈,撑起多个 10K MRR 的产品
一个独立开发者公开自己的极简技术栈:单台 VPS、Go 单二进制、本地显卡跑 AI、SQLite 扛并发。成本压到极低,也就有了无限跑道。
给创业项目用 AWS Cognito 做登录,踩了三周坑:独立开发者认证选型实录
一位创业者记录了自己用 AWS Cognito 搭建认证的三周噩梦:文档混乱、Amplify v6 破坏性升级、本地开发无法调试、属性配置错就得迁移整个用户池。对正在选认证方案的小团队,这是一份真实的避坑报告。
从 $300 到 $10K MRR:一个独立开发者找到联创后,生意彻底换了个活法
开发者独自经营社交自动回复工具,卡在 $300 MRR 三个月,每周工作 60+ 小时。找来一个营销型联创后,六个月做到 $10K MRR,每小时收入从 $1.25 涨到 $31.25。