F2.03.3off-scale exceptions unravel spacing设计

标度外的例外值会瓦解体系

别名: 例外间距 · one-off padding · 光学调整

概念解释

图标字形自带空白,有人用 13 px 的内边距做一次光学补偿,这一屏好看了。下一个人看见 13,觉得「原来可以」,把邻按钮也改成 13。再下一次出现 15、18、22。标度不是被正式废除的,是被没有名字的例外稀释到没人再信。

瓦解来自例外的繁殖,不是来自存在过一次 13。

机制

间距标度是协调装置:它告诉后来者「合法集合在这里」。匿名的例外在检查器里和合法值长得一样,后来者无法区分「这是光学特例」和「标度只是建议」。于是特例被复制,合法集合实际膨胀,决策成本和不一致一起回来——短列表存在的理由被掏空。

有名字、有范围的例外可以活:例如 iconOpticalNudge 只用于某一套描边图标,并且禁止用在文字按钮上。名字把例外从「又一个像素」变成「一条规则的局部豁免」,标度本体还能管日常。

边界

一次性的营销活动页、实验性原型,本来就不声称加入体系,例外没有瓦解对象。真正危险的是主应用壳、设计系统和跨页面组件。光学补偿本身合理,尤其是字框和图标的视觉中心;不合理的是补偿值回流进通用 padding 菜单。

若产品只有一人维护且屏幕很少,繁殖还来不及发生,这条像小题大做。一旦组件被复制到第三处,匿名 13 就会开始走。

怎么落地

  • 例外必须命名、写清只用在哪类对象,并在代码里做成专用属性,而不是在通用 padding 上写 13。
  • 发现新的匿名值时,先问能不能并回最近档;并回去视觉上掉档,才允许开命名例外,并规定谁不准用。
  • 验证:列出所有不在标度上的间距。每一条写「光学原因 + 允许的组件 + 禁止的组件」。凡是原因写不出、或已经出现在两种无关组件上的,删掉这个值,相关界面改回标度,对比改前改后是否真的变差。不变差就证明它只是被复制的噪音。

延伸

  • 同组F2.03.1 有限的间距档位降低决策与不一致 · F2.03.2 基数选择需与常见屏幕密度整除
  • 相邻F2.05 对齐 · F6.08 图标的视觉重量平衡 · F2.06 邻近性分组
  • 站内检索off-scale spacing · optical adjustment · spacing exception · one-off padding

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/F2.03.3