Design Language · morphism

设计语言(morphism)对比与选型

「拟物化 / 扁平化 / Material / 玻璃拟态……」这些名字经常被并列,但它们不在同一根轴上,而且有几类是整套系统、有几类只是一层表面处理。 这一页用同一组组件把它们并排渲染,然后给出本项目的选型。

01先分清轴

表面处理轴(下面这条)与信息密度轴(极简 ↔ 极繁)是正交的,可以任意组合。

拟物化Skeuomorphism
粘土拟态Claymorphism
新拟物Neumorphism
玻璃拟态Glassmorphism
Fluent亚克力
MaterialM3
半扁平 ★Flat 2.0
扁平化Flat
极简Minimalism
← 物质感 / 仿真实体抽象 / 纯信息 →
三个容易搞混的点:
Material / Fluent / Apple HIG 不是"风格",是平台的产品语言——它们绑定图标体系、动效物理与整套组件库。Web 工具套用它,会显得"像别人的产品"。
极繁主义不在上面这根轴上——它说的是信息密度与装饰量,可以和"半扁平"自由组合(我们选择"高密度但克制")。
极简主义也不是"无阴影"——它说的是删减到只剩必要元素,属于信息轴;很多"极简"设计照样有精细的层级阴影(本项目的目标就是这种)。

02同一组组件,九种渲染

样本取自本产品的真实控件:主按钮、筛选标签、院校结果行、地图浮层。请重点比较可读性"一眼看得出能不能点"

拟物化Skeuomorphism
工科 0816
10486 武汉大学
081602 摄影测量与遥感 · 拟招 3 人
优点:控件"能点"这件事毫无歧义。
代价:纹理/渐变/描边全部在抢数据的注意力;暗色主题几乎无法优雅实现;维护成本极高。
排除——但保留它的内核:让可操作性显形(现代做法是层级+状态,不是画皮革)。
粘土拟态Claymorphism
工科 0816
10486 武汉大学
081602 摄影测量与遥感 · 拟招 3 人
优点:亲近、有趣,适合面向青少年的消费产品。
代价:厚重阴影占空间,信息密度被迫下降;严肃性不足。
排除——择校是压力场景,用户要的是"可信、快",不是"可爱"。
新拟物Neumorphism
工科 0816
10486 武汉大学
081602 摄影测量与遥感 · 拟招 3 人
看起来漂亮,但不能用:控件与背景对比度极低(文字远达不到 4.5:1),无法区分"可点"与"不可点"。这套风格在 2020 年后基本被业界放弃。
排除——与 §3.7 的可访问性底线直接冲突。
玻璃拟态Glassmorphism
工科 0816
10486 武汉大学
081602 摄影测量与遥感 · 拟招 3 人
优点有语义——半透明层读作"浮在某物之上"。用在地图之上的浮层很贴切(地图本身就是它的背景)。
代价:文字对比度不稳、GPU 开销、暗色/亮色双主题都要单独调;当整站底色用就变成噪声。
局部使用——只允许出现在地图或图表的浮层上,且必须有降级。
Material DesignMaterial 3
工科 0816
10486 武汉大学
081602 摄影测量与遥感 · 拟招 3 人
优点:文档与组件生态最完备,可用性经验成熟。
代价:它是 Google 的产品语言——胶囊按钮、大圆角、紫色调色板会让人一眼认成"Google 风格/别人的产品";与本项目的制图气质冲突。
不套用——只借鉴它的动效与可用性经验。
Fluent DesignMicrosoft
工科 0816
10486 武汉大学
081602 摄影测量与遥感 · 拟招 3 人
优点:亚克力材质(模糊+饱和)在桌面端很精致,"揭示高光"的交互思路不错。
代价:同样是平台语言;亚克力依赖 backdrop-filter,在低端设备会掉帧——与我们的性能预算冲突。
不套用
扁平化Flat
工科 0816
10486 武汉大学
081602 摄影测量与遥感 · 拟招 3 人
优点:干净、性能好。
代价零圆角 + 零阴影导致层级全靠颜色,一旦颜色不够用(我们有 5 类筛选维度),可点的东西就"塌"进背景里;也最容易做出一堆"傻白"的界面。
过度了——我们保留它的一半。
半扁平 ★ 本项目基线Flat 2.0
工科 0816
10486 武汉大学
081602 摄影测量与遥感 · 拟招 3 人
优点:扁平打底(干净、快、好做暗色),深度只用于表达层级与状态(卡片浮起 1px、选中项左侧竖条、hover 变色)。可读性与可操作性同时成立。
代价:需要有纪律——"阴影只用来表达高度,不作装饰"。
采纳
本项目方案半扁平 + 玻璃只用于地图浮层
工科 0816
10486 武汉大学
081602 摄影测量与遥感 · 拟招 3 人
找到 87 所 · 湖北省 12 所
基线与上面的半扁平完全一致,唯一叠加是:当浮层压在地图/图表之上时,用玻璃(模糊 + 半透明白 + 细描边)——因为它确实"浮在地理之上",语义成立。
采纳,边界写在 §3 的规则里。

03评分与结论

评分维度取自本项目的硬约束:数据密集、有可访问性底线(§3.7)、有性能预算、要亮暗双主题、单人维护。

风格可读性可访问性性能数据密集工具暗色主题维护成本结论
拟物化排除
粘土拟态排除
新拟物排除
玻璃拟态局部
Material 3不套用
Fluent不套用
扁平化过度
半扁平 Flat 2.0采纳
半扁平 + 玻璃浮层采纳

04落地规则(写进 UIUX.md 的部分)

  1. 基线是半扁平:扁平打底 + 深度只表达层级。阴影只有三档(sm 按钮 / md 卡片 / lg 抽屉弹层),阴影的颜色永远是透明黑,绝不用不透明灰
  2. 深度即语义:浮得越高 = 越"临时"(按钮 < 卡片 < 抽屉 < 弹层)。同一层级的元素必须用同一档阴影——否则层级读不出来。
  3. 可操作性靠状态显形,不靠仿真:hover 变色、`aria-pressed` 选中态、焦点环 2px、光标变化。这是从拟物化继承的唯一内核
  4. 玻璃只允许出现在"地图/图表之上的浮层":浮动结果卡、地图控件、底部抽屉。规则:模糊 10–12px、白色 70–75% 底、1px 白描边;必须给不支持 `backdrop-filter` 的浏览器降级为不透明白底。
  5. 禁止清单:新拟物(对比度不达标)、粘土(气性不符)、极繁装饰(噪声)、平台语言的组件形状(胶囊按钮 / 大圆角 / Material 调色板)。
  6. 极简是"密度轴"的选择,不是"没有阴影":我们的信息密度偏高(这是工具的优点),但装饰量压到最低——这一条正是 refactoring-ui 的"先做灰阶、再加颜色"。

05那我该怎么选?——一套可复用的流程

不要问"哪个风格最好"(无穷比较,永远选不完)。要问"我的约束把窗口压到多小"。风格是约束的输出,不是审美的输入

先记住这根阶梯:越靠上层越耐久,越靠下层越短命。
你列的那些名字,绝大多数都在最下面那层。每年都会有新的"XX-morphism"——判断方法只有一句:它改的是结构,还是只改了表面的皮?
层级典型寿命这层放什么本项目的决定
结构10 年+ 布局范式、信息架构、交互模型 布局 B(分屏联动);筛选即时 + URL 同步;列表 ↔ 地图互指
排版5–10 年 字体选择、字阶、行高、信息密度 IBM Plex Sans + Mono(中文走系统栈);12/14/16/18/20/24/30/36;密度舒适
颜色2–5 年 色板、色彩语义 地形图制图配色:水系青蓝 #0F6E7B + 等高线棕 + 冷调灰
表面1–3 年 圆角、阴影、模糊、材质——morphism 全在这层 半扁平打底 + 玻璃只浮在地图上;圆角 4/6/8;阴影三档

六步流程(任何项目都能复用)

  1. 写死 5 条不可谈判的约束(可访问性 / 性能 / 双主题 / 定位 / 维护成本)。约束越硬,后面越省事——它们会替你淘汰候选。
  2. 用约束做淘汰,不用审美做淘汰。凡是与硬约束冲突的,无论多好看,直接出局。这一步通常能砍掉 80%。
  3. 看剩下的窗口有多大。如果只剩 1–2 个刻度(我们只剩"半扁平⇄扁平"),就说明选型已经收敛,不必再找。
  4. 定基线,不定"风格"。基线 = 表面轴上一个刻度 + 密度轴上一个刻度。只选一次,然后冻结(建议至少 6 个月)。
  5. 留 1–2 处局部例外,这才是辨识度的来源。全局平静 + 一处破例,远好过处处用力。我们的例外:图廓刻度、mono 数据、地图上的玻璃浮层。
  6. 写禁止清单。比"选了什么"更重要的是"不做什么"——它能防止半年后你自己(或 AI)手滑把新拟物加回来。
什么时候该停止想风格?当你发现结构层已经定了(用户怎么找到他要的东西)、排版层已能保证可读的时候。
再往下的比较都是边际收益递减——而"陌生人 30 秒内得到价值"跟这层关系不大。 对一个还没上线的作品集项目,把时间花在 M1 上,比花在第十种 morphism 上值一百倍。