这个网站所有页面都是单文件 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 框架。