AI 帮你写 UI,为什么总是同一个味道?——一个前端开发者的设计品味课

引言

你肯定见过这样的界面:Inter 字体、紫色渐变背景、圆角卡片、居中布局、白色文字。单独看没什么问题,甚至算得上"干净整洁"。但当你在 X 上刷到第五个长这样的 AI 生成页面时,一种审美疲劳感扑面而来。

这不是你的错觉。过去三个月,我用完全相同的需求描述,分别让 AI 在"有设计约束"和"无设计约束"两种模式下生成了同一个页面。结果令人震惊:无约束模式产出的界面,和你在社交网络上看到的 90% AI UI 几乎一模一样。

问题出在哪?不是 AI 不会做设计,而是你没有给它设计方向

这篇文章将带你理解一套五维设计体系——Typography(字体)、Color & Theme(配色)、Spatial Composition(空间布局)、Motion(动效)、Backgrounds & Visual Details(背景与质感)。这五个维度决定了用户看到界面的第一印象,也是你把 AI 从"generic UI 生成器"变成"有品味的设计搭档"的关键。

为什么 AI 总写"同一个味道"的 UI?

先理解一个底层逻辑:大语言模型在生成 UI 代码时,本质上是在复现训练数据中最高频的模式。

当你说"帮我写一个漂亮的定价页",AI 的推理过程大概是这样的:

  1. “定价页” → 搜索训练数据中的 pricing page 模式
  2. “漂亮” → 搜索 aesthetic UI 模式
  3. 两个模式取交集 → 输出最高概率的组合

问题在于,训练数据中"漂亮的定价页"的共识解恰好就是——深色背景 + 居中布局 + 渐变卡片 + Inter 字体 + 紫色/蓝色点缀。这不是 AI 的错,这是统计学上的必然。你给它的约束越少,它就越会趋向均值。

那怎么破?答案是:给 AI 具体到维度的设计约束

下面我要介绍的五维设计体系,来自我在日常开发中对设计决策的拆解。你可以把它理解成一个"设计 prompt 模板",不限于 AI——哪怕你自己写 CSS,这五个维度的自觉意识也能让你的界面质感提升一个档次。

五维设计体系

维度一:Typography(字体)

字体是用户感知到的第一个设计信号,比颜色更快。中文社区常说的"这个页面看着高级",很大概率是因为字体选对了。

这个维度决定什么:

  • 品牌的性格(严谨?活泼?奢华?极客?)
  • 信息的层级(标题、正文、数据、注释)
  • 整体的"质感"(是否像专业产品)

AI 的默认行为:
Inter、Roboto、Arial,或者 system-ui。这些字体本身不差,但所有人都在用,就变成了一种"廉价感"。Inter 被称为"the new Times New Roman"不是没有原因的——它太安全了。

怎么做:

一条黄金法则:展示字体(Display)定性格,正文字体(Body)定可读性

  • 展示字体选一个有辨识度的——衬线体如 Cormorant Garamond、Playfair Display 适合偏奢华/编辑感的风格,等宽或几何体如 DM Mono 适合偏技术/极客的风格
  • 正文字体保持干净——DM Sans、Source Sans Pro、Noto Sans SC(中文)是不错的选择,但不要用 Inter
  • 中英文混排时,用 font-family 声明英文在前、中文在后,让英文用展示字体、中文 fallback 到系统字体
一个具体例子:同样是"Pricing Plans"标题,
Inter 600 居中 → "又一个 SaaS 模板"
Cormorant Garamond 500 italic 左对齐 → "有品牌感的商业产品"

不需要成为字体设计师。先记住一件事:不要用 Inter,至少不要只用 Inter。这是最快见效的一步。

维度二:Color & Theme(配色与主题)

颜色是 AI UI 的重灾区。紫色渐变 + 白色文字的组合已经被用到了让读者 PTSD 的程度。

这个维度决定什么:

  • 情绪基调(温暖/冷静/奢侈/工业)
  • 视觉焦点(用户视线首先落在哪)
  • 品牌识别度

AI 的默认行为:
深色背景 #0f0f1a、紫色/蓝色主色 #6366f1、绿色强调色 #10b981。这个配色方案的流行程度已经让它变成了 AI UI 的"出厂皮肤"。

怎么做:

三条原则:

  1. 主色占 60%,强调色占 10%,中性色占 30%。不要每个颜色平均分配,那会让界面失去焦点
  2. 用 CSS 变量管理。不是因为它高级,而是因为改起来快。AI 给你的配色大概率需要调
  3. 强调色要锐利。灰蓝底 + 灰蓝按钮 = 用户看不到 CTA。强调色必须从背景中"跳出来"
一个好的配色验证方法:截图 → 转灰度 → 看 CTA 按钮是否仍然有足够对比度
如果灰度下按钮和背景融为一体,说明配色有问题

维度三:Spatial Composition(空间布局)

这是区分"程序员写的 UI"和"设计师做的 UI"的核心维度。程序员倾向于"把东西放进去",设计师在思考"留白和节奏"。

这个维度决定什么:

  • 信息的呼吸感
  • 视觉路径(用户的眼睛按什么顺序阅读)
  • 界面的"高级感"

AI 的默认行为:
居中布局。所有东西水平居中、垂直居中、一列到底。这种布局对任何屏幕都安全,但也对任何品牌都没有记忆点。

怎么做:

三个可以立刻上手的技巧:

  1. 不对称。标题偏左,数据偏右,产生张力
  2. 打破网格。一个元素略微超出卡片边界,让界面"活"起来
  3. 留白比填充更重要。当你觉得"这里是不是该放点什么"的时候,答案通常是"不放"
一个实用的检查方法:在你的界面上画 Z 字形
用户视线应该按照 Z 路径自然流动(左上 → 右上 → 左下 → 右下)
如果某个区域没有任何东西引导视线,那里就是留白不够的证明

维度四:Motion(动效)

CSS 动画在 AI 生成的 UI 中几乎不存在。不是因为 AI 不会写,而是因为大多数人不会要。这让动效成为了最容易拉开差距的维度。

这个维度决定什么:

  • 界面的精致感
  • 用户对"发生了什么"的理解(状态变化、导航)
  • 品牌的调性(干脆利落 vs 优雅流畅)

怎么做:

不要做"散弹式微交互"——每个按钮都加 hover 动画、每个卡片都加 shadow transition。这些细节用户注意不到,但代码量上去了。

正确的策略是:集中资源做一个高冲击力时刻

一个精心设计的页面载入动画(staggered reveal),比十个 hover 效果更有记忆点:

卡片逐张出现,每张间隔 100-200ms
配合 ease-out 缓动,持续 400-600ms
第一张和最后一张的时间差不超过 1 秒

CSS 能做的就不要上 JS 动画库,animation-delay 配合 @keyframes 可以实现绝大部分需求。只有在 React 中需要编排复杂动画时才考虑 Framer Motion。

维度五:Backgrounds & Visual Details(背景与质感)

这是五个维度中最"隐性"的,也是最有区分度的。大部分 UI 的背景就是 background-color: #f5f5f5 或者 #0a0b0f。但真正有质感的界面,背景本身就在讲设计语言。

怎么做:

几个低成本的质感提升手段:

  1. 噪点纹理。一个 200x200 的 SVG 噪点叠加层,opacity: 0.03-0.06,放在所有内容下面。肉眼几乎看不到噪点本身,但能消除纯色的"塑料感"
  2. 径向渐变替代纯色背景。在深色背景中,把 background: #080810 改成两三个 radial-gradient 椭圆的叠加——比如左上角一个暖金色椭圆、右下角一个冷蓝色椭圆,blur(120px)
  3. Glassmorphism 不是原罪backdrop-filter: blur() 配合 rgba(255,255,255,0.03) 的半透明边框,比纯色卡片有层次感
  4. 谨慎使用阴影box-shadow: 0 4px 6px rgba(0,0,0,0.1) 是另一种"AI 指纹"。如果你要做投影,用彩色的——比如金色的 glow 比灰色阴影高级十倍

实证对比:同一需求,两种输出

为了验证五维体系的实际效果,我做了两组 A/B 测试——

实验设计:

  • 向 AI 发送完全相同的前端需求描述
  • 实验组:先加载设计约束(五维体系),再生成代码
  • 对照组:直接生成代码,不做任何设计引导

下面是两组实验的对比结果。

对比一:SaaS 定价页

需求描述:“创建一个 SaaS 定价页面,包含 Starter ($9)、Professional ($29)、Enterprise ($99) 三档,深色主题,React 单文件实现。”

在这里插入图片描述

实验组输出了:Cormorant Garamond 衬线展示字体 + DM Sans 正文字体、#080810 深底色配合三个径向渐变、每张卡片顶部的发光色条对应各自的主题色、glassmorphism 半透明卡片、staggered entrance 动画、Professional 档位微微上浮 + 金色 glow。整体走的是"奢华编辑风"。

在这里插入图片描述

对照组输出了:system-ui 字体、GitHub-dark 风配色(#0d1117 + #161b22)、#58a6ff 蓝色主色 + #3fb950 绿色强调、常规卡片 + 标准阴影。功能齐全,但放在十个 AI 生成的定价页里你绝对认不出它。

关键差异:

  • Typography:Cormorant Garamond vs system-ui → 品牌感差距明显
  • Background:径向渐变 + 噪点纹理 vs 纯色 #0d1117 → 质感不在一个层次
  • Spatial:Professional 卡片上浮打破平面 vs 所有卡片等高等齐 → 缺少视觉节奏

对比二:仪表盘统计卡片

需求描述:“创建一行 4 个统计卡片:Total Users (12,847, +12.5%)、Revenue ($48,290, +8.2%)、Active Sessions (2,847, -3.1%)、Conversion Rate (3.24%, +0.8%),React 单文件实现。”

在这里插入图片描述

实验组输出了:DM Serif Display 标题对 + JetBrains Mono 数字、每张卡片不同颜色的 icon box(玫瑰金/琥珀/天蓝/薄荷绿)、数字滚动动画(IntersectionObserver + easeOutCubic 缓动)、噪点纹理背景 + 双径向渐变、staggered card-rise 入场动画。

在这里插入图片描述

对照组输出了:系统字体、统一的蓝色 icon 背景、无动画、纯色深色背景。功能正确,但完全感受不到"dashboard"应有的人机交互质感。

关键差异:

  • Motion:数字滚动动画 + staggered entrance vs 完全静态 → 精致感天差地别
  • Color:差异化 icon 色 vs 统一蓝色 → 前者让每张卡片有了各自的身份
  • Typography:JetBrains Mono 等宽数字 vs 系统字体数字 → 数据的"可信度"都不一样

实用 Checklist:每次写 UI 前问自己这五个问题

你可以把这个清单直接粘贴到你的 AI prompt 里,或者写代码前自己在脑子里过一遍:

## 设计约束(五维体系)

1. **Typography**
   - [ ] 展示字体是否有辨识度?(不用 Inter/Roboto/Arial)
   - [ ] 正文字体是否干净可读?
   - [ ] 中英文混排的 fallback 顺序是否正确?

2. **Color & Theme**
   - [ ] 主色:强调色:中性色 ≈ 60:10:30?
   - [ ] CTA 按钮在灰度下是否仍有足够对比度?
   - [ ] 是否用了 CSS 变量管理配色?

3. **Spatial Composition**
   - [ ] 布局是否避免了"全居中"?(至少有一个不对称元素)
   - [ ] 用户视线是否按 Z 字形自然流动?
   - [ ] 留白是否给了内容足够的呼吸感?

4. **Motion**
   - [ ] 是否有一个集中的高冲击力时刻?(页面载入动画)
   - [ ] 动画 duration 是否在 300-600ms 之间?
   - [ ] 是否用了 CSS animation 优先于 JS 库?

5. **Backgrounds & Visual Details**
   - [ ] 背景是否是纯色?(是 → 加噪点纹理或径向渐变)
   - [ ] 阴影是否用彩色 glow 替代了灰色 `box-shadow`?
   - [ ] 是否有至少一种"出人意料"的视觉细节?

总结

写这篇文章的初衷不是教你怎么当设计师——我自己也不觉得自己是设计师。我想说的是:设计品味不是天赋,是一组可以学习和执行的具体决策

当你下次让 AI 帮你写 UI 时,不要只说"做个好看的定价页"。告诉它:

  • 展示字体用 Cormorant Garamond,正文用 DM Sans
  • 主色暖金 #d4a853,深色背景上叠两个径向渐变
  • 中间那个卡片要比两边高 12px,加金色 glow
  • 三张卡片用 200ms 间隔逐张出现
  • 背景叠一层低透明度噪点纹理

这些具体的约束,才是你把 AI 从"generic 模板生成器"变成"有品味的设计搭档"的关键。

前端开发者常被贴上"不懂设计"的标签。但说实话,大多数时候我们不是不懂——我们只是缺少一套系统化的语言来描述设计决策。这五个维度,就是你的设计决策清单。


Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐