Shopify 设计系统.

Shopify 设计系统 — 电商平台。深色优先电影感,霓虹绿强调色,超轻字体。

在真实场景中查看

同一套设计 token 应用于不同类型的产物——网站、应用、幻灯片、海报。这些是用该系统重新换肤的原创样稿,而非截图。

网站
幻灯片
应用
海报

设计 token

56 个 token,符合 Open Design 的 token 契约——你的 agent 读取的正是这套结构化的配色、字体、间距和动效值,用以为任意产物设定主题。

表面

  • --bg #000000
  • --surface #02090a
  • --surface-warm #061a1c

文本

  • --fg #ffffff
  • --fg-2 #ffffff
  • --muted #a1a1aa
  • --meta #71717a

边框

  • --border #1e2c31
  • --border-soft #3f3f46

强调色

  • --accent #36f4a4
  • --accent-on #000000
  • --accent-hover #2de097
  • --accent-active color-mix(in oklab, var(--accent), black 14%)

语义

  • --success #36f4a4
  • --warn #eab308
  • --danger #dc2626

字体排印

  • --font-display "NeueHaasGrotesk", "Helvetica Neue", Helvetica, Arial, sans-serif
  • --font-body "Inter Variable", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif
  • --font-mono ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace

字号层级

  • --text-xs 12px
  • --text-sm 14px
  • --text-base 18px
  • --text-lg 20px
  • --text-xl 32px
  • --text-2xl 48px
  • --text-3xl 70px
  • --text-4xl 96px
  • --leading-body 1.56
  • --leading-tight 1.00
  • --tracking-display 0em

间距

  • --space-1 4px
  • --space-2 8px
  • --space-3 12px
  • --space-4 16px
  • --space-5 24px
  • --space-6 28px
  • --space-8 36px
  • --space-12 64px
  • --section-y-desktop 96px
  • --section-y-tablet 64px
  • --section-y-phone 40px

圆角

  • --radius-sm 9999px
  • --radius-md 8px
  • --radius-lg 12px
  • --radius-pill 9999px

层级阴影

  • --elev-flat none
  • --elev-ring 0 0 0 1px var(--border)
  • --elev-raised rgba(0, 0, 0, 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.1) 0px 2px 2px, rgba(0, 0, 0, 0.1) 0px 4px 4px, rgba(0, 0, 0, 0.1) 0px 8px 8px, rgba(255, 255, 255, 0.03) 0px 1px 0px inset

聚焦

  • --focus-ring 0 0 0 2px #36f4a4

动效

  • --motion-fast 150ms
  • --motion-base 200ms
  • --ease-standard ease

布局

  • --container-max 1280px
  • --container-gutter-desktop 64px
  • --container-gutter-tablet 32px
  • --container-gutter-phone 16px

受 Shopify 启发的设计系统

Category: 电子商务与零售 电商平台。深色优先的电影感,霓虹绿强调色,超细字重。

1. 视觉主题与氛围

Shopify.com 是一座深色优先的数字剧场——一个将其商业平台以电影首映式的方式呈现的网站。整个体验在近黑色的表面上展开,这些表面带着深邃森林绿的最微弱低语(#02090A#061A1C#102620),营造出一种夜间氛围,感觉与其说是一个 SaaS 营销页面,不如说是科技发布会上的一场独家产品揭幕。这种黑暗并不冷酷或企业化——它是奢华体验中温暖包裹的黑暗,就像坐在黑暗礼堂的前排。

排版是当之无愧的主角。NeueHaasGrotesk——一种精致的 Helvetica 后裔——以纪念碑式的尺寸(96px)和难以置信的细字重(330-400)出现,创造出感觉是用光刻就而非用墨水印刷的标题。ss03 OpenType 特性赋予字形独特个性,使 Shopify 的字体与普通 Helvetica 用法区分开来。在展示层之下,Inter Variable 以外科手术般的精准处理正文,使用同样不寻常的可变字重(420、450、550),这些字重存在于传统字重档位之间的空间里。这种精准度传递出一家对每个细节都精益求精的公司的信号。

颜色使用极为克制。主要强调色是 Shopify 霓虹绿(#36F4A4)——一种电子薄荷色,只出现在焦点环和强调高亮上,在深色画布上像生物发光信号一样脉动。更柔和的绿色调(芦荟绿 #C1FBD4、开心果绿 #D4F9E0)提供氛围渲染。白色是深色表面上唯一重要的文字颜色,而基于锌色的中性色阶(#A1A1AA#3F3F46)处理安静信息的层次结构。结果是一种让商业技术感觉属于科幻未来的设计。

Key Characteristics:

  • 深色优先设计,带有深邃森林青绿色底调(非纯黑色)
  • 超细展示排版(字重 330)以纪念碑式尺寸(96px)创造飘逸存在感
  • 霓虹绿(#36F4A4)作为黑暗中单一的高能强调色
  • 完整圆角按钮(9999px 圆角半径)作为主要交互形状
  • 分层多级盒阴影创造摄影般的深度感
  • 产品截图嵌入深色 UI 环境中,与周围的黑暗融为一体
  • 基于锌色的中性色阶处理文字层次——在冷暖之间取得平衡

2. 色彩面板与用途

主色

  • Shopify 白#FFFFFF):深色表面上的主要文字,按钮填充,高对比度元素
  • Shopify 黑#000000):页面主背景,白色按钮上的文字,最大对比度基础(—color-shade-100)

辅助色与强调色

  • 霓虹绿#36F4A4):标志性强调色——焦点环、交互高亮、激活状态指示器。电子感与生物发光感
  • 芦荟绿#C1FBD4):装饰性背景、氛围卡片的柔和绿色渲染(—color-aloe-10)
  • 开心果绿#D4F9E0):细微表面差异化的最浅绿色调(—color-pistachio-10)

表面与背景色

  • 虚空黑#000000):根页面背景——真正的黑色以获得最大深度
  • 深青绿#02090A):卡片表面、内容容器——带有绿色底调的近黑色
  • 深森林绿#061A1C):具有明显绿色特征的区块背景
  • 森林绿#102620):提升的深色表面、头部背景——最温暖的深色调
  • 深色卡片边框#1E2C31):深色表面上的卡片边框,细微的边界定义

中性色与文字色(锌色阶)

  • Shade-30#D4D4D8):最浅中性色,深色上几乎不可见的边框(—color-shade-30)
  • 静默文字#A1A1AA):次级文字、元数据、描述——安静的声音
  • Shade-50#71717A):三级文字、时间戳、最不重要的信息(—color-shade-50)
  • Shade-60#52525B):禁用文字、装饰性中性色(—color-shade-60)
  • Shade-70#3F3F46):细微分割线,几乎不可见的 UI 边界(—color-shade-70)
  • 浅色边框#E4E4E7):浅色表面上的边框(罕用——仅在浅色模态框中)

语义色与强调色

  • Link Muted#9797A2):带有下划线装饰的静默链接文字
  • Link Sage#9DABAD):青绿色调的静默链接
  • Link Lavender#BDBDCA):较浅的链接变体
  • Link Mint#99B3AD):主题区块的绿色调链接变体

渐变系统

  • 深青绿渲染:从 #102620 中心到 #02090A 边缘的径向渐变——用于产品展示区后方
  • 绿色氛围:英雄区块后方细微的绿色调环境渐变,在不使用纯色的情况下创造深度
  • 聚光灯:亮度集中区域逐渐消退至黑色——创造发布会风格的演示照明效果

3. 排版规则

字体族

展示字体: NeueHaasGrotesk(精致的 Helvetica 后裔,可变字体)

  • 回退字体:Helvetica、Arial、sans-serif
  • OpenType 特性:ss03(风格集 3——独特的字形替代方案)
  • 可用字重:330、360、400、500、750(可变)
  • 用于所有标题、英雄文字和大型展示元素

正文字体: Inter-Variable

  • 回退字体:Helvetica、Arial、sans-serif
  • OpenType 特性:ss03
  • 可用字重:400、420、450、500、550(可变)
  • 用于正文文字、链接、按钮、UI 元素

等宽字体: ui-monospace

  • 回退字体:SFMono-Regular、Menlo、Monaco、Consolas、Liberation Mono、Courier New
  • 用于代码片段、数据标签、技术内容

层次结构

角色大小字重行高字距备注
Display XL96px4001.00NeueHaasGrotesk,英雄标题,“ss03”
Display XL Bold90.74px7501.004.54pxNeueHaasGrotesk,强调展示
Display XL Tracked96px4001.002.4pxNeueHaasGrotesk,间距展示
Display Light96px3300.96NeueHaasGrotesk,飘逸展示
Heading 170px3301.00NeueHaasGrotesk,区块标题
Heading 255px3301.16NeueHaasGrotesk,子区块
Heading 348px3301.14NeueHaasGrotesk,功能标题
Heading 432px3601.140.32pxNeueHaasGrotesk,卡片标题
Heading 528px5001.280.42pxNeueHaasGrotesk,小标题
Heading 624px4001.140.36pxNeueHaasGrotesk,次要标题
Body Large20px5001.400.3pxNeueHaasGrotesk / Inter,引言段落
Body18px4001.56Inter-Variable,标准正文
Body Medium18px5501.56Inter-Variable,强调正文
Body Small16px4001.50Inter / NeueHaasGrotesk,紧凑正文
Body Small Medium16px4201.50Inter-Variable,轻微强调
Button16px4001.50NeueHaasGrotesk,CTA 文字
Nav Link18px5001.250.72pxNeueHaasGrotesk,导航项目
Caption14px5001.490.28pxNeueHaasGrotesk / Inter,元数据
Caption Medium14px5501.490.28pxInter-Variable,强调说明文字
Overline15.36px4001.501.54pxNeueHaasGrotesk,宽字距标签
Micro13px5001.50-0.13pxInter,紧字距小文字
Label12px4001.200.72pxInter,大写标签
Code16px4001.50ui-monospace,大写,代码块
Code Small12px4001.33ui-monospace,大写,内联代码

原则

Shopify 的排版是可变字体精准度的大师级示范。展示层几乎完全使用 330-400 的字重——羽毛般轻盈的文字,看起来像投影光一样悬浮于深色背景之上。这与大多数 SaaS 网站采用的粗重方式截然相反:别人大声呼喊,Shopify 却在巨大尺度上低语。96px 标题配以 330 字重创造出巨大尺寸与纤细笔画的悖论,既有纪念碑感,又有脆弱感。ss03 OpenType 特性激活了一个风格集,赋予特定字符(可能是 ‘a’、‘g’ 和某些数字)更精致的外观,使 Shopify 的排版有别于标准 Helvetica Neue 的用法。Inter Variable 以外科手术般的精准处理正文层,使用 420 和 550 等存在于传统档位之间的字重——每段文字都拥有其所需的准确视觉重量。

4. 组件样式

按钮

主要按钮(白色填充)

  • 背景:白色(#FFFFFF
  • 文字:黑色(#000000
  • 边框:2px 透明实线
  • 圆角半径:完整圆角(9999px)
  • 内边距:12px 26px 12px 16px(不对称——右侧更多内边距以获得视觉平衡)
  • 悬停:轻微透明度降低或背景偏移
  • 焦点:2px #36F4A4(霓虹绿)外框
  • 过渡:all 200ms ease

次要按钮(幽灵/轮廓)

  • 背景:透明
  • 文字:白色(#FFFFFF
  • 边框:2px 白色实线(#FFFFFF
  • 圆角半径:完整圆角(9999px)
  • 内边距:12px 26px 12px 16px
  • 悬停:填充为白色背景配黑色文字
  • 焦点:2px #36F4A4 外框

徽章/标签(中性填充)

  • 背景:rgba(255, 255, 255, 0.2)(磨砂玻璃)
  • 文字:白色(#FFFFFF
  • 边框:无
  • 圆角半径:轻微圆角(4px)
  • 内边距:12px 16px
  • 字体:16px 常规

卡片与容器

  • 背景:深色页面上的深青绿(#02090A
  • 边框:1px 实线 #1E2C31(深色卡片边框)——几乎不可见的边界
  • 圆角半径:标准卡片 8px,特色卡片 12px,顶部圆角卡片 20px 20px 0 0
  • 阴影:多层系统:
    • 静止状态:rgba(0,0,0,0.1) 0px 0px 0px 1px, rgba(0,0,0,0.1) 0px 2px 2px, rgba(0,0,0,0.1) 0px 4px 4px, rgba(0,0,0,0.1) 0px 8px 8px + rgba(255,255,255,0.03) 0px 1px 0px inset
    • 内嵌白色高亮创造细微的顶部边缘发光效果
  • 悬停:阴影扩展,卡片可能略微变亮
  • 过渡:box-shadow 300ms ease,transform 200ms ease

输入框与表单

  • 背景:透明或深森林绿(#061A1C
  • 文字:白色(#FFFFFF
  • 边框:1px 实线 #3F3F46(Shade-70)
  • 圆角半径:8px
  • 内边距:12px 16px
  • 焦点:2px 实线 #36F4A4(霓虹绿焦点环)
  • 占位符:Shade-50(#71717A
  • 过渡:border-color 200ms ease

导航

  • 背景:透明(叠加在深色英雄区上),滚动时变为森林绿(#102620
  • 高度:约 64px
  • 左侧:Shopify 文字标志(SVG,深色背景上的白色)
  • 中/右:18px/500 NeueHaasGrotesk 导航链接,白色,字距 0.72px
  • CTA:白色圆角按钮”Start for free”(右侧)
  • 次要 CTA:带白色边框的幽灵按钮
  • 悬停:链接变为静默文字(#A1A1AA)或出现下划线
  • 移动端:汉堡菜单,全屏深色遮罩层
  • 过渡:滚动时背景 300ms ease

图片处理

  • 产品截图:嵌入深色 UI 环境中,与周围的黑暗融为一体
  • 管理界面预览:展示在带细微卡片边框的深色背景上
  • 宽高比:多样——英雄图片较宽(约 16:9),功能截图较灵活
  • 所有图片在深色容器内平铺——无亮色边框或边框
  • 延迟加载配以深色占位表面

信任指标

  • 突出展示统计数据:“15+“(年)、“150M+“(买家)
  • 数字以 NeueHaasGrotesk 展示级别显示
  • 合作伙伴/开发者生态系统专区
  • 深色主题的评价评论融入页面流程中

5. 布局原则

间距系统

基础单位:8px

标记用途
space-14px紧凑内联间距
space-28px基础单位,图标间距
space-312px卡片内边距,紧凑外边距
space-416px标准元素内边距
space-524px卡片间距,区块内边距
space-628px中等区块间距
space-732px区块分隔
space-836px大内边距
space-940px主要区块内边距
space-1064px英雄区块内边距,大间距

网格与容器

  • 最大容器宽度:约 1280px(居中)
  • 英雄区:全宽,边到边的深色背景配居中文字
  • 功能区块:带文字和产品截图的两列布局
  • 统计区块:配大数字的水平布局
  • 水平内边距:桌面 64px,平板 32px,移动端 16px
  • 网格间距:主要内容块之间 24-32px

留白哲学

Shopify 的留白策略是戏剧性的。区块之间以大片深色空间分隔——80px 到 120px 的纯黑色呼吸空间——创造出演示文稿的节奏,而不是网页的节奏。每个内容块都是主题演讲式滚动中独立的”幻灯片”。在区块内部,间距更紧凑也更有意图,在广阔的虚空中创造焦点密度。宏观层面的空旷与微观层面的精准之间的对比,赋予了网站其电影般的韵律。

圆角半径尺度

应用场景
4px标签、徽章、微型元素
8px标准卡片、输入框、视频容器
12px特色卡片、图片容器、按钮(非圆角胶囊)
20px顶部圆角卡片(20px 20px 0 0),模态框头部
340px大型圆角装饰元素
9999px圆角胶囊按钮、圆角胶囊徽章、导航元素

6. 深度与层级

层级处理方式用途
基础无阴影,深色表面默认页面背景
细微rgba(0,0,0,0.1) 0px 0px 0px 1px + 内嵌白色发光静止卡片
中等多层:1px 环 + 2px + 4px + 8px 阴影叠加提升卡片,特色区块
rgba(0,0,0,0.25) 0px 25px 50px -12px模态框、下拉框、遮罩层
焦点0px 0px 0px 2px #36F4A4键盘焦点环(霓虹绿)

Shopify 的阴影系统异常精密。卡片不使用单一值阴影,而是使用叠加的多层方式:用于边界定义的 1px 环、用于自然光衰减的 2px/4px/8px 渐进模糊,以及模拟顶部照明玻璃表面的精致内嵌白色发光(rgba(255,255,255,0.03))。在深色背景上,阴影从已经很深的表面继续加深,因此阴影更像”环境遮挡”而不是传统的高度——卡片看起来略微下沉入表面,而不是漂浮在其上。

装饰性深度

  • 深青绿渐变:英雄区块和产品展示区后方的环境径向渲染
  • 聚光灯效果:从中心亮区消退至黑色的区域,营造发布会式戏剧照明
  • 边缘发光:通过内嵌盒阴影在深色卡片上形成细微的亮色边缘
  • 绿色氛围光晕:背景渐变中的微弱绿色调,呼应品牌强调色

7. 该做与不该做

该做

  • 使用深青绿-黑色表面层次(虚空黑 → 深青绿 → 深森林绿 → 森林绿)来营造深度
  • 保持展示排版在 330-400 字重——飘逸的轻盈感是设计的标志
  • 将霓虹绿(#36F4A4)专门用于焦点状态和关键强调高亮
  • 为所有主要 CTA 按钮应用 9999px 圆角半径——完整圆角胶囊不可妥协
  • 为卡片高度使用多层阴影系统——单一阴影看起来平淡
  • 在所有文字中保持 ss03 OpenType 特性——这是排版身份的一部分
  • 正文使用 Inter Variable,标题使用 NeueHaasGrotesk——不要混淆它们的角色
  • 在区块之间创造戏剧性间距(80px+)以获得电影般的节奏

不该做

  • 不要在深色背景上将纯黑色(#000000)用于文字——只用白色(#FFFFFF)
  • 不要引入暖色(橙色、红色、黄色)——色盘严格限于冷色(绿色、青绿色、中性色)
  • 不要为 NeueHaasGrotesk 正文使用高于 500 的字重——重字重会破坏飘逸感
  • 不要将绿色强调色应用于大面积区域——霓虹绿只用于小而精准的高亮
  • 不要在交互元素上使用尖锐角(0px 圆角)——所有元素都应有圆角
  • 不要添加亮色背景——深色主题是根本,不是可选的
  • 不要使用单层盒阴影——叠加方式是整个系统
  • 不要将正文的行高设置在 1.56 以上——Shopify 的文字相对紧凑
  • 不要在同等大小/角色下混用 NeueHaasGrotesk 和 Inter——它们的字重尺度不同
  • 不要为标题设置低于 0 的字距——Shopify 标题的字距为中性或正值

8. 响应式行为

断点

名称宽度主要变化
移动端<640px单列,汉堡导航,展示文字缩至 48px,16px 内边距
平板640-1024px两列网格开始,展示文字 70px,32px 内边距
桌面1024-1440px完整布局,展开导航,96px 展示文字,64px 内边距
大桌面>1440px最大宽度容器居中,增加区块间距

触摸目标

  • 最小触摸目标:44x44px(WCAG AAA)
  • 圆角胶囊按钮:最低 48px 高度配慷慨的水平内边距
  • 导航链接:44px 触摸区域
  • 卡片表面:链接时整张卡片可点击

折叠策略

  • 导航:水平全链接 → 1024px 以下变汉堡菜单;Logo 和 CTA 按钮保持可见
  • 英雄区块:96px 展示文字 → 平板 70px → 移动端 48px;保持单列居中对齐
  • 功能区块:文字+图片两列 → 768px 以下叠加为单列
  • 统计:水平行 → 移动端叠加为垂直
  • 区块内边距:随视口缩小从 64px → 40px → 24px → 16px
  • 卡片:网格 → 叠加,移动端保持全宽

图片行为

  • 产品截图:在深色容器内响应式显示,保持宽高比
  • 英雄图片:所有断点全宽,延迟加载配深色占位符
  • 管理 UI 预览:按比例缩放,移动端可能裁剪
  • 所有图片使用 CDN(cdn.shopify.com)配响应式 srcset

9. 智能体提示指南

快速颜色参考

  • 主要 CTA:Shopify 白(#FFFFFF
  • 页面背景:虚空黑(#000000
  • 卡片表面:深青绿(#02090A
  • 区块背景:深森林绿(#061A1C
  • 提升背景:森林绿(#102620
  • 强调色:霓虹绿(#36F4A4
  • 正文文字:白色(#FFFFFF
  • 静默文字:静默灰(#A1A1AA
  • 深色边框:深色卡片边框(#1E2C31

示例组件提示

  • “在真实黑色(#000000)背景上创建一个英雄区块,使用 96px/330 的 NeueHaasGrotesk 白色标题、20px/500 的 #A1A1AA 副标题,以及两个圆角胶囊按钮:白色填充(9999px 圆角)和带 2px 白色边框的幽灵按钮”
  • “在深青绿(#02090A)上设计一张带 1px #1E2C31 边框、12px 圆角、多层阴影(1px 环 + 2px/4px/8px 模糊,10% 黑色)的功能卡片,内含 32px/360 白色标题和 18px/400 #A1A1AA 正文”
  • “在深森林绿(#061A1C)上构建一个统计区块,使用 96px/750 白色数字(NeueHaasGrotesk)、16px/400 #A1A1AA 描述标签,以及统计块之间 64px 的慷慨间距”
  • “创建一个粘性导航,背景透明(滚动时变为 #102620),左侧白色 Shopify Logo,18px/500 白色导航链接配 0.72px 字距,右侧白色圆角胶囊按钮’Start for free’”
  • “设计一个带 rgba(255,255,255,0.2) 磨砂玻璃背景、4px 圆角、12px 16px 内边距、16px 白色文字的标签/徽章——漂浮在深色卡片表面上”

迭代指南

使用此设计系统完善已生成的界面时:

  1. 每次专注于一个组件
  2. 引用本文档中的具体颜色名称和十六进制代码
  3. 记住:这是深色优先设计——浅色表面是例外,不是规则
  4. 展示文字应始终感觉羽毛轻盈(字重 330-400)——如果看起来很重,降低字重
  5. 霓虹绿(#36F4A4)是珍贵的——只为焦点和强调色节俭使用
  6. 深色表面层次(黑色 → 深青绿 → 深森林绿 → 森林绿)创造细微深度
  7. 阴影是多层的——单个 box-shadow 值无法捕捉 Shopify 卡片的感觉
  8. ss03 OpenType 特性必须在所有文字上激活以保持排版一致性
模式
design-system
场景
design
形态
web
Manifest ID
design-system-shopify

标签

  • design-system
  • first-party
  • design
  • e-commerce-retail