博客 · 第 10 页
关于工程、设计与一些随手记录。
深色模式下表单还是白的:color-scheme 才是开关
把背景涂黑不等于原生控件跟着黑。select 的下拉、日期选择器、自动填充的底色都由 color-scheme 决定,accent-color 只管住勾选框与滑块。
页头多高不该猜:ResizeObserver 实测回写 CSS 变量
导航换行、字体晚到、内容长度变化都会让元素高度和 CSS 里的常量对不上。ResizeObserver 观察元素本身,把实测值写回变量,比监听 resize 可靠。
设计令牌:一个文件管住整个站点
为什么我把颜色、间距、圆角全部收进 _tokens.scss,以及换一套视觉方向为什么只需要改这一个文件。
不用框架的 i18n:三语站点手写路由的代价
这个站点的手写 i18n 没用框架自带的配置。说说为什么,以及代价具体出现在哪里——两次 404,和一半没翻的文章。
2048:把四个方向归一成同一个操作
滑动、合并、计分只需要写一遍,其余三个方向靠转置与反转复用。真正的难点是「每个方块一回合只能合并一次」,写错就得到不该出现的数字。
扫雷:把布雷推迟到第一次点击
第一下就踩雷的扫雷是没写完的扫雷。把布雷推迟到首次点击、并排除点击点周围 3×3,是这类实现最重要的一处设计。
