这个网站所有页面都是单文件 HTML,不依赖任何框架,没有打包工具, 没有 node_modules,一个文件双击就能打开。 做完之后我觉得这件事本身挺有意思的,记录一下。

最核心的设计原则是:尽量少依赖。字体用 Google Fonts CDN, 逻辑用原生 JS,样式全部手写 CSS,没有引入任何第三方库。 这样做的好处是页面极轻,打开基本是即时的。

工具页面不需要 React,它只需要一个 <button> 和几行 JS。

CSS 变量让整个风格保持统一。所有颜色、圆角、阴影都定义在 :root 里, 改一个地方全站变。字体用了三个:标题用「ZCOOL XiaoWei」, 正文用「Noto Serif SC」,数字代码用「Space Mono」——这个组合意外地好看。

:root { --bg: #faf7f2; --ink: #2a2320; --accent: #d4846a; --radius: 20px; }

动画方面,卡片 hover 用了 cubic-bezier(0.34, 1.56, 0.64, 1) 这个曲线, 会有一点弹性感,比 ease-out 自然很多。 iOS 上触摸反馈用 :active { transform: scale(0.97) } 来模拟, 效果挺像原生的。

数据持久化全用 localStorage,足够了。 番茄钟的统计、喝水的记录、行动库的自定义内容,都存在里面, 不需要后端,不需要账号,关掉再开还在。

总的来说,做这种工具页面不需要复杂的技术栈,反而越简单越好。 能用 HTML 解决的,就不要引入 JS 框架。