两套皮肤,和一直没挑完的颜色
- 作者
- Ethan Pier
有一个下午,我把同一块背景来回切了十几次。
浅色时它接近一张发黄的纸。深色时它接近一块没开灯的屏幕。两套都说得过去,叠在一起就互相拆台:一张卡片在白天还清楚,夜里只剩一条几乎看不见的边。
我那时候以为问题是没挑对颜色。slate、zinc、stone,每个名字都试过一遍。看起来都不差。过两天再打开,又觉得哪里不对。
后来才看明白。我是在关系还没定下来之前,就在选表面。哪一层压在哪一层上面?背景翻成接近纯黑的时候,原来那句“主要文字”还指什么?一条在浅色上刚好能看见的线,到了深色里会直接消失。
我把调色盘放下,先排层级。底下是整页的底。底上面是卡片。卡片上是字、边、偶尔亮一下的强调色。强调色在深色模式里走冷蓝,浅色里走陶土橙——两套皮肤共用同一套名字,只是值不一样。
名字一旦定下来,组件就不再直接写死一块色。改主题的时候,翻的是这一层名字。十六进制若散在十四个文件里,改一次要找齐。
中间态是后来才长出来的。悬停时底要稍亮一点。边要稍微抬起来。访问过的链接不能跟没访问过的一样。这些东西一开始不在任何清单里。名字越来越多。有一段时间我改一个按钮,就要给整个系统再补一个几乎用不到第二处的色阶。
主题切换也闹过别扭。我想让切换快得像眨眼,又不能闪。曾经试过让所有颜色一起过渡。中端手机上,页面会抖一下。后来只让页面的底和字走很短的过渡,边和影子瞬间跳过去。人把那一下底色变化当成“切换本身”,不会去数还有哪些没动。
站点默认是深色。第一帧就带着深色,免得白一下再翻回来。浅色是后来才打开的那扇窗。
我仍不太满意。有些名字活着,只因为某一个角落在某一个状态下需要稍微不同的一档。系统能用。我也懒得再拆——怕在很久没看的页面上,弄出一种只有换主题才看得见的错。
两套皮肤现在能一起过日子。颜色还是会改。改的时候我已经不太盯着调色盘了,更多是问:这块压在谁上面,夜里还在不在。