← 返回全部设计

Linear

Linear效率工具与 SaaS

面向工程师的项目管理。极致极简、精准,紫色点缀

实时预览

配色 Colors · 23

primary
#5e6ad2
on-primary
#ffffff
primary-hover
#828fff
primary-focus
#5e69d1
ink
#f7f8f8
ink-muted
#d0d6e0
ink-subtle
#8a8f98
ink-tertiary
#62666d
canvas
#010102
surface-1
#0f1011
surface-2
#141516
surface-3
#18191a
surface-4
#191a1b
hairline
#23252a
hairline-strong
#34343a
hairline-tertiary
#3e3e44
inverse-canvas
#ffffff
inverse-surface-1
#f5f6f6
inverse-surface-2
#f6f7f7
inverse-ink
#000000
brand-secure
#7a7fad
semantic-success
#27a644
semantic-overlay
#000000

字体阶梯 Typography · 13

display-xl
80px · 600
永远相信美好的事情即将发生 Ag
display-lg
56px · 600
永远相信美好的事情即将发生 Ag
display-md
40px · 600
永远相信美好的事情即将发生 Ag
headline
28px · 600
永远相信美好的事情即将发生 Ag
card-title
22px · 500
永远相信美好的事情即将发生 Ag
subhead
20px · 400
永远相信美好的事情即将发生 Ag
body-lg
18px · 400
永远相信美好的事情即将发生 Ag
body
16px · 400
永远相信美好的事情即将发生 Ag
body-sm
14px · 400
永远相信美好的事情即将发生 Ag
caption
12px · 400
永远相信美好的事情即将发生 Ag
button
14px · 500
永远相信美好的事情即将发生 Ag
eyebrow
13px · 500
永远相信美好的事情即将发生 Ag
mono
13px · 400
永远相信美好的事情即将发生 Ag

圆角 Radius · 8

xs
4px
sm
6px
md
8px
lg
12px
xl
16px
xxl
24px
pill
9999px
full
9999px

间距 Spacing · 8

xxs
4px
xs
8px
sm
12px
md
16px
lg
24px
xl
32px
xxl
48px
section
96px

按钮预览 Buttons

标签 Badge

组件规范 Components · 21

button-primary
backgroundColor
#5e6ad2
textColor
#ffffff
typography
{typography.button}
rounded
8px
padding
8px 14px
button-primary-pressed
backgroundColor
#5e69d1
textColor
#ffffff
typography
{typography.button}
rounded
8px
button-primary-hover
backgroundColor
#828fff
textColor
#ffffff
typography
{typography.button}
rounded
8px
button-secondary
backgroundColor
#0f1011
textColor
#f7f8f8
typography
{typography.button}
rounded
8px
padding
8px 14px
button-tertiary
backgroundColor
#010102
textColor
#f7f8f8
typography
{typography.button}
rounded
8px
padding
8px 14px
button-inverse
backgroundColor
#ffffff
textColor
#000000
typography
{typography.button}
rounded
8px
padding
8px 14px
pricing-card
backgroundColor
#0f1011
textColor
#f7f8f8
typography
{typography.body}
rounded
12px
padding
24px
pricing-card-featured
backgroundColor
#141516
textColor
#f7f8f8
typography
{typography.body}
rounded
12px
padding
24px
feature-card
backgroundColor
#0f1011
textColor
#f7f8f8
typography
{typography.body}
rounded
12px
padding
24px
product-screenshot-card
backgroundColor
#0f1011
textColor
#f7f8f8
typography
{typography.body}
rounded
16px
padding
24px
testimonial-card
backgroundColor
#0f1011
textColor
#f7f8f8
typography
{typography.body-lg}
rounded
12px
padding
32px
customer-logo-tile
backgroundColor
#010102
textColor
#8a8f98
typography
{typography.caption}
rounded
4px
padding
16px
text-input
backgroundColor
#0f1011
textColor
#f7f8f8
typography
{typography.body}
rounded
8px
padding
8px 12px
text-input-focused
backgroundColor
#0f1011
textColor
#f7f8f8
typography
{typography.body}
rounded
8px
padding
8px 12px
pricing-tab-default
backgroundColor
#010102
textColor
#8a8f98
typography
{typography.button}
rounded
9999px
padding
6px 14px
pricing-tab-selected
backgroundColor
#141516
textColor
#f7f8f8
typography
{typography.button}
rounded
9999px
padding
6px 14px
cta-banner
backgroundColor
#0f1011
textColor
#f7f8f8
typography
{typography.headline}
rounded
12px
padding
48px
changelog-row
backgroundColor
#010102
textColor
#f7f8f8
typography
{typography.body}
rounded
4px
padding
24px 0
status-badge
backgroundColor
#141516
textColor
#d0d6e0
typography
{typography.caption}
rounded
9999px
padding
2px 8px
top-nav
backgroundColor
#010102
textColor
#f7f8f8
typography
{typography.body-sm}
rounded
4px
height
56px
footer
backgroundColor
#010102
textColor
#8a8f98
typography
{typography.caption}
rounded
4px
padding
64px 32px

设计规范


version: alpha name: Linear-design-analysis description: "A near-black product-focused marketing canvas built around #010102 (the deepest dark surface of any tool in this collection), light gray text (#f7f8f8), and the signature Linear lavender-blue (#5e6ad2) used as the single chromatic accent. The system reads as software-craft documentation: dense, technical, and quietly luxurious. Display type is set in the Linear custom sans (SF Pro Display fallback) at 500–700 with measured negative tracking. Cards live as charcoal panels (#0f1011) with hairline borders. The accent lavender appears on the brand mark, focus rings, and a few intentional CTAs — never decoratively. Page rhythm leans on product UI screenshots framed in dark panels rather than atmospheric color."

colors: primary: "#5e6ad2" on-primary: "#ffffff" primary-hover: "#828fff" primary-focus: "#5e69d1" ink: "#f7f8f8" ink-muted: "#d0d6e0" ink-subtle: "#8a8f98" ink-tertiary: "#62666d" canvas: "#010102" surface-1: "#0f1011" surface-2: "#141516" surface-3: "#18191a" surface-4: "#191a1b" hairline: "#23252a" hairline-strong: "#34343a" hairline-tertiary: "#3e3e44" inverse-canvas: "#ffffff" inverse-surface-1: "#f5f6f6" inverse-surface-2: "#f6f7f7" inverse-ink: "#000000" brand-secure: "#7a7fad" semantic-success: "#27a644" semantic-overlay: "#000000"

typography: display-xl: fontFamily: Linear Display fontSize: 80px fontWeight: 600 lineHeight: 1.05 letterSpacing: -3.0px display-lg: fontFamily: Linear Display fontSize: 56px fontWeight: 600 lineHeight: 1.10 letterSpacing: -1.8px display-md: fontFamily: Linear Display fontSize: 40px fontWeight: 600 lineHeight: 1.15 letterSpacing: -1.0px headline: fontFamily: Linear Display fontSize: 28px fontWeight: 600 lineHeight: 1.20 letterSpacing: -0.6px card-title: fontFamily: Linear Display fontSize: 22px fontWeight: 500 lineHeight: 1.25 letterSpacing: -0.4px subhead: fontFamily: Linear Display fontSize: 20px fontWeight: 400 lineHeight: 1.40 letterSpacing: -0.2px body-lg: fontFamily: Linear Text fontSize: 18px fontWeight: 400 lineHeight: 1.50 letterSpacing: -0.1px body: fontFamily: Linear Text fontSize: 16px fontWeight: 400 lineHeight: 1.50 letterSpacing: -0.05px body-sm: fontFamily: Linear Text fontSize: 14px fontWeight: 400 lineHeight: 1.50 letterSpacing: 0 caption: fontFamily: Linear Text fontSize: 12px fontWeight: 400 lineHeight: 1.40 letterSpacing: 0 button: fontFamily: Linear Text fontSize: 14px fontWeight: 500 lineHeight: 1.20 letterSpacing: 0 eyebrow: fontFamily: Linear Text fontSize: 13px fontWeight: 500 lineHeight: 1.30 letterSpacing: 0.4px mono: fontFamily: Linear Mono fontSize: 13px fontWeight: 400 lineHeight: 1.50 letterSpacing: 0

rounded: xs: 4px sm: 6px md: 8px lg: 12px xl: 16px xxl: 24px pill: 9999px full: 9999px

spacing: xxs: 4px xs: 8px sm: 12px md: 16px lg: 24px xl: 32px xxl: 48px section: 96px

components: button-primary: backgroundColor: "{colors.primary}" textColor: "{colors.on-primary}" typography: "{typography.button}" rounded: "{rounded.md}" padding: 8px 14px button-primary-pressed: backgroundColor: "{colors.primary-focus}" textColor: "{colors.on-primary}" typography: "{typography.button}" rounded: "{rounded.md}" button-primary-hover: backgroundColor: "{colors.primary-hover}" textColor: "{colors.on-primary}" typography: "{typography.button}" rounded: "{rounded.md}" button-secondary: backgroundColor: "{colors.surface-1}" textColor: "{colors.ink}" typography: "{typography.button}" rounded: "{rounded.md}" padding: 8px 14px button-tertiary: backgroundColor: "{colors.canvas}" textColor: "{colors.ink}" typography: "{typography.button}" rounded: "{rounded.md}" padding: 8px 14px button-inverse: backgroundColor: "{colors.inverse-canvas}" textColor: "{colors.inverse-ink}" typography: "{typography.button}" rounded: "{rounded.md}" padding: 8px 14px pricing-card: backgroundColor: "{colors.surface-1}" textColor: "{colors.ink}" typography: "{typography.body}" rounded: "{rounded.lg}" padding: 24px pricing-card-featured: backgroundColor: "{colors.surface-2}" textColor: "{colors.ink}" typography: "{typography.body}" rounded: "{rounded.lg}" padding: 24px feature-card: backgroundColor: "{colors.surface-1}" textColor: "{colors.ink}" typography: "{typography.body}" rounded: "{rounded.lg}" padding: 24px product-screenshot-card: backgroundColor: "{colors.surface-1}" textColor: "{colors.ink}" typography: "{typography.body}" rounded: "{rounded.xl}" padding: 24px testimonial-card: backgroundColor: "{colors.surface-1}" textColor: "{colors.ink}" typography: "{typography.body-lg}" rounded: "{rounded.lg}" padding: 32px customer-logo-tile: backgroundColor: "{colors.canvas}" textColor: "{colors.ink-subtle}" typography: "{typography.caption}" rounded: "{rounded.xs}" padding: 16px text-input: backgroundColor: "{colors.surface-1}" textColor: "{colors.ink}" typography: "{typography.body}" rounded: "{rounded.md}" padding: 8px 12px text-input-focused: backgroundColor: "{colors.surface-1}" textColor: "{colors.ink}" typography: "{typography.body}" rounded: "{rounded.md}" padding: 8px 12px pricing-tab-default: backgroundColor: "{colors.canvas}" textColor: "{colors.ink-subtle}" typography: "{typography.button}" rounded: "{rounded.pill}" padding: 6px 14px pricing-tab-selected: backgroundColor: "{colors.surface-2}" textColor: "{colors.ink}" typography: "{typography.button}" rounded: "{rounded.pill}" padding: 6px 14px cta-banner: backgroundColor: "{colors.surface-1}" textColor: "{colors.ink}" typography: "{typography.headline}" rounded: "{rounded.lg}" padding: 48px changelog-row: backgroundColor: "{colors.canvas}" textColor: "{colors.ink}" typography: "{typography.body}" rounded: "{rounded.xs}" padding: 24px 0 status-badge: backgroundColor: "{colors.surface-2}" textColor: "{colors.ink-muted}" typography: "{typography.caption}" rounded: "{rounded.pill}" padding: 2px 8px top-nav: backgroundColor: "{colors.canvas}" textColor: "{colors.ink}" typography: "{typography.body-sm}" rounded: "{rounded.xs}" height: 56px footer: backgroundColor: "{colors.canvas}" textColor: "{colors.ink-subtle}" typography: "{typography.caption}" rounded: "{rounded.xs}" padding: 64px 32px

概览

Linear 的营销画布是本集合中最深的暗色表面——{colors.canvas} 是 #010102,本质上是带有微弱蓝调倾向的纯黑。其上叠有四级表面阶梯({colors.surface-1}{colors.surface-4}),用于卡片、面板与抬升瓦片,细线边框从 {colors.hairline}(#23252a)向上延伸到 {colors.hairline-strong}{colors.hairline-tertiary}。浅灰文字({colors.ink} #f7f8f8)承载正文与标题。

唯一的彩色点缀是 Linear 薰衣草蓝 {colors.primary}(#5e6ad2)——用于品牌标志、聚焦环与主 CTA 按钮。更浅的悬浮状态({colors.primary-hover} #828fff)与聚焦变体({colors.primary-focus} #5e69d1)延伸同一色相。Linear 在营销画布上避免使用饱和绿、橙、红等;唯一的语义色是 {colors.semantic-success}(#27a644),用于状态徽标与罕见的成功指示。

展示型字体使用 Linear 的定制无衬线(回退 SF Pro Display),字重 500–700,负字距从 80px 时的 -3.0px 缩放到正文时的 0。正文字族是 Linear 的文本切割,Linear Mono 留给产品截图中的代码片段。

页面节奏是密集的产品截图——Linear 的营销以产品 UI(议题列表、项目视图、仪表板)的高保真捕获为主,框在带 {rounded.xl} 16px 圆角的 {colors.surface-1} 面板中。界面刻意保持最少,让应用截图承担重任。

关键特征:

  • 暗色画布营销系统——{colors.canvas}(#010102)是本集合中最深的暗色。
  • 薰衣草蓝品牌点缀{colors.primary} #5e6ad2)——稀缺地用于品牌标志、聚焦与主 CTA。
  • 四级表面阶梯(canvas → surface-1 → surface-2 → surface-3 → surface-4)在无阴影下承载层级。
  • 展示型字距向负方向拉开(80px 时 -3.0px);正文保持 -0.05px。
  • 卡片使用 {rounded.lg} 12px 圆角配 1px 细线边框——永不胶囊,少用 16px。
  • 产品 UI 截图主导页面。营销界面是应用的暗色画框。
  • 无第二种彩色。无氛围渐变。无聚光卡片。

配色

来源页面:linear.app(首页)、/intake、/pricing、/contact/sales、/build。

品牌与点缀

  • 薰衣草蓝({colors.primary}):Linear 标志性点缀——主 CTA、品牌标志、链接强调。
  • 薰衣草 悬浮({colors.primary-hover}):更浅的薰衣草(#828fff)——主 CTA 的悬浮状态。
  • 薰衣草 聚焦({colors.primary-focus}):聚焦环色(#5e69d1)——聚焦输入框、聚焦按钮。
  • 品牌 安全({colors.brand-secure}):弱化的薰衣草灰(#7a7fad)——用于"Linear Security"表面。

表面

  • 画布({colors.canvas}):默认页面背景——#010102,近乎纯黑带有微弱蓝调。
  • 表面 1({colors.surface-1}):画布上一档——特性卡、价格卡、产品截图面板。
  • 表面 2({colors.surface-2}):画布上两档——推荐价格卡、悬浮卡片。
  • 表面 3({colors.surface-3}):画布上三档——line-tertiary 背景、子导航。
  • 表面 4({colors.surface-4}):画布上四档——bg-level-3,最深的抬升表面。
  • 细线({colors.hairline}):卡片与分隔线 1px 边框。
  • 细线 强({colors.hairline-strong}):更强的 1px 边框——输入框聚焦环。
  • 细线 第三({colors.hairline-tertiary}):嵌套表面的三级边框。
  • 反色画布({colors.inverse-canvas}):纯白——少数段落开篇上的反色胶囊 CTA 的表面。
  • 反色表面 1({colors.inverse-surface-1}):反色画布上一档。
  • 反色表面 2({colors.inverse-surface-2}):反色画布上两档。

文字

  • 墨色({colors.ink}):所有标题与强调正文——浅灰 #f7f8f8。
  • 墨色 弱({colors.ink-muted}):次级文字 #d0d6e0——英雄面板上的元信息。
  • 墨色 柔({colors.ink-subtle}):三级文字 #8a8f98——未选中的价格标签、页脚列。
  • 墨色 第三({colors.ink-tertiary}):四级 #62666d——禁用、脚注。

语义

  • 成功绿({colors.semantic-success}):状态徽标、成功指示。营销上唯一的语义色。
  • 覆盖({colors.semantic-overlay}):纯黑覆盖蒙层,用于模态。

字体排版

字体族

  • Linear Display —— Linear 的定制展示无衬线;回退 SF Pro Display, -apple-system, system-ui, Segoe UI, Roboto。承载 display-xl 到 subhead。
  • Linear Text —— Linear 的定制文本无衬线(针对正文字号微调的另一种切割);相同回退栈。承载正文字号、按钮标签、说明。
  • Linear Mono —— Linear 的定制等宽;回退 ui-monospace, SF Mono, Menlo。用于产品截图中的代码片段以及状态/ID token。

营销表面把 Display 与 Text 视为一个连续声音;字族切换是无声的。

层级

Token字号字重行高字距用途
{typography.display-xl}80px6001.05-3.0px最大英雄标题
{typography.display-lg}56px6001.10-1.8px段落开篇标题
{typography.display-md}40px6001.15-1.0px子段落标题
{typography.headline}28px6001.20-0.6px价格档位标题、CTA 横幅标题
{typography.card-title}22px5001.25-0.4px特性卡标题
{typography.subhead}20px4001.40-0.2px引导正文、引入段
{typography.body-lg}18px4001.50-0.1px英雄副标、引导段
{typography.body}16px4001.50-0.05px默认正文
{typography.body-sm}14px4001.500卡片正文、页脚列
{typography.caption}12px4001.400说明、元信息、状态
{typography.button}14px5001.200所有按钮标签
{typography.eyebrow}13px5001.300.4px段引标(轻微正向字距)
{typography.mono}13px4001.500模拟中代码用 Linear Mono

原则

  • 展示型激进负字距(80px 时 -3.0px ≈ 字号 4%)。
  • 展示到正文单一声音。display-xl 600 → body 400——同一字族,字重渐窄。
  • 引标使用正字距(+0.4px)——与展示的负字距形成对比,标记引标为分类标签。
  • 等宽字体仅用于代码场景。Linear Mono 位于产品截图内——不在营销界面。

字体替代说明

Linear 的定制字体未公开分发;文档化的回退 SF Pro Display, -apple-system, system-ui 是 macOS 上的推荐替代。跨平台实施中,Inter 字重 500 / 600 / 700 是最接近的免费替代。Geist Sans 也可用。Mono 方面,JetBrains MonoGeist Mono 400 字重接近 Linear Mono。

布局

间距体系

  • 基础单位:4px。
  • Token(前言中){spacing.xxs} 4px · {spacing.xs} 8px · {spacing.sm} 12px · {spacing.md} 16px · {spacing.lg} 24px · {spacing.xl} 32px · {spacing.xxl} 48px · {spacing.section} 96px。
  • 卡片内边距:特性/价格卡 {spacing.lg} 24px;证言卡 {spacing.xl} 32px;CTA 横幅 {spacing.xxl} 48px。
  • 胶囊按钮内边距:垂直 8px · 水平 14px——Linear 的紧凑按钮规范。
  • 表单输入内边距:垂直 8px · 水平 12px。

网格与容器

  • 最大内容宽度约 1280px。
  • 卡片网格:桌面 3 列,平板 2 列,移动 1 列。
  • 价格档位网格 3 列;下方对比条按档位显示对勾。
  • 产品截图面板横跨完整内容宽度——它们是主角。

留白哲学

暗色画布本身就是留白。段落之间靠抬升到 surface-1 面板分隔,而非白色空隙。面板内部,内容块之间留 {spacing.lg} 24px 间距;段落之间 {spacing.section} 96px。

层次与深度

层级处理方式用途
0(平面)无阴影、无边框正文、英雄文字、页脚的默认
1(炭灰抬升)画布上 {colors.surface-1} 背景,1px {colors.hairline}默认卡片、产品面板
2(表面 2 抬升){colors.surface-2} 背景,1px {colors.hairline-strong}推荐价格卡、悬浮卡片
3(表面 3 抬升){colors.surface-3} 背景子导航、下拉菜单
4(聚焦环)50% 透明度的 2px {colors.primary-focus} 描边聚焦输入框、聚焦按钮

Linear 的深度由表面阶梯 + 细线边框承载。品牌几乎完全抵制暗色上的投影。

装饰性深度

  • 产品 UI 截图作为装饰性深度主导。
  • 无氛围渐变,无聚光卡片
  • 抬升面板顶边的微妙白色边缘高光——给暗色表面一种淡淡的"像素渲染"感。

形状

圆角体系

Token数值用途
{rounded.xs}4px小芯片、状态徽标
{rounded.sm}6px行内标签
{rounded.md}8px所有按钮、表单输入
{rounded.lg}12px价格卡、特性卡、证言卡
{rounded.xl}16px产品截图面板
{rounded.xxl}24px超大尺寸 CTA 横幅(罕见)
{rounded.pill}9999px价格标签切换、状态徽标
{rounded.full}9999px头像圆形

摄影与插画几何

  • 产品 UI 截图主导;它们位于 {rounded.xl} 16px 瓦片中,配 {spacing.lg} 24px 外边距。
  • 客户 Logo 瓦片在 {colors.canvas} 上以小尺寸(约 24px Logo 高度)呈现,无边框。
  • 证言卡中的头像圆形使用 {rounded.full},尺寸 32–40px。

组件

按钮

button-primary —— 薰衣草 CTA。所有页面的默认主 CTA。

  • 背景 {colors.primary},文字 {colors.on-primary},字体 {typography.button},内边距 8px 14px,圆角 {rounded.md}
  • 按下状态见 button-primary-pressed(背景切换到 {colors.primary-focus})。
  • 悬浮状态见 button-primary-hover(背景切换到更浅的 {colors.primary-hover})。

button-secondary —— 炭灰按钮。用于次级 CTA("Sign in"、"Read changelog")。

  • 背景 {colors.surface-1},文字 {colors.ink},字体 {typography.button},内边距 8px 14px,圆角 {rounded.md}。1px {colors.hairline} 边框。

button-tertiary —— 纯文字按钮。

  • 背景 {colors.canvas},文字 {colors.ink},字体 {typography.button},圆角 {rounded.md},内边距 8px 14px。

button-inverse —— 暗底白字反色 CTA。

  • 背景 {colors.inverse-canvas},文字 {colors.inverse-ink},字体 {typography.button},圆角 {rounded.md},内边距 8px 14px。

价格标签页

pricing-tab-default + pricing-tab-selected —— /pricing 上的胶囊切换。

  • 默认:{colors.canvas} 背景,{colors.ink-subtle} 文字,圆角 {rounded.pill},内边距 6px 14px。
  • 选中:{colors.surface-2} 背景,{colors.ink} 文字——选中即表面抬升。

卡片与容器

pricing-card —— /pricing 上的每个档位。

  • 背景 {colors.surface-1},文字 {colors.ink},字体 {typography.body},圆角 {rounded.lg},内边距 24px。1px {colors.hairline} 边框。

pricing-card-featured —— 推荐档位——surface 抬升到 surface-2。

  • 背景 {colors.surface-2},其余结构相同。

feature-card —— 通用特性亮点瓦片。

  • 背景 {colors.surface-1},文字 {colors.ink},字体 {typography.body},圆角 {rounded.lg},内边距 24px。

product-screenshot-card —— 主导卡型——框住高保真 Linear 应用 UI 截图。

  • 背景 {colors.surface-1},文字 {colors.ink},字体 {typography.body},圆角 {rounded.xl},内边距 24px。

testimonial-card —— 带头像 + 姓名 + 职位的客户引用。

  • 背景 {colors.surface-1},文字 {colors.ink},字体 {typography.body-lg},圆角 {rounded.lg},内边距 32px。

customer-logo-tile —— 客户跑马灯中的小瓦片。

  • 背景 {colors.canvas},文字 {colors.ink-subtle},字体 {typography.caption},圆角 {rounded.xs},内边距 16px。

cta-banner —— 页面底部的收尾 CTA 面板。

  • 背景 {colors.surface-1},文字 {colors.ink},字体 {typography.headline},圆角 {rounded.lg},内边距 48px。

输入与表单

text-input + text-input-focused —— /contact/sales 与注册覆盖层上的表单字段。

  • 背景 {colors.surface-1},文字 {colors.ink},字体 {typography.body},圆角 {rounded.md},内边距 8px 12px。
  • 聚焦状态保持相同表面;聚焦环是 50% 透明度的 2px {colors.primary-focus} 描边。

状态与构建页

changelog-row —— /build(更新日志页)中列出版本、日期、更改内容的每行。

  • 背景 {colors.canvas},文字 {colors.ink},字体 {typography.body},圆角 {rounded.xs},内边距 24px 0。底部 1px {colors.hairline} 线条。

status-badge —— 小型状态徽标。

  • 背景 {colors.surface-2},文字 {colors.ink-muted},字体 {typography.caption},圆角 {rounded.pill},内边距 2px 8px。

导航

top-nav —— 黏性暗色栏,左侧 Linear 字标,中间主导航链接,右侧 button-secondary("Sign in")+ button-primary("Get started")组合。

  • 背景 {colors.canvas},文字 {colors.ink},字体 {typography.body-sm},高度 56px。

页脚

footer —— {colors.canvas} 上的密集链接网格,左侧 Linear 字标。

  • 背景 {colors.canvas},文字 {colors.ink-subtle},字体 {typography.caption},内边距 64px 32px。

推荐与避免

推荐

  • 保留 {colors.canvas}(#010102)作为系统的锚定表面——微弱的蓝调是有意为之。
  • {colors.primary} 薰衣草仅用于:品牌标志、主 CTA、聚焦环、链接强调。
  • 使用四级表面阶梯建立层级。避免跳级。
  • 展示 600 字重配正文 400 字重——Linear 抵制 700+ 展示字重。
  • 激进地在展示型字号上应用负字距。
  • 每个段落以产品 UI 截图作为主角。
  • CTA 组合 {rounded.md} 8px 圆角。

避免

  • 不要发布浅色模式营销页。
  • 不要把薰衣草用作段落背景或卡片填充。
  • 不要引入第二种彩色点缀(橙、粉、绿用于营销)。
  • 不要加氛围渐变或聚光卡片。
  • 不要把 CTA 圆成胶囊。
  • 不要把画布用 #000000 真黑。
  • 不要在产品截图模拟中混用多个亮色点缀。

响应式行为

断点

名称宽度关键变化
Desktop-XL1440px默认桌面布局
Desktop1280px卡片网格 3 列保持
Tablet1024px卡片网格 3 列 → 2 列
Mobile-Lg768px价格对比变为手风琴;导航汉堡菜单
Mobile480px单列;展示 xl 80px → ~36px

触摸目标

  • CTA 在各视口保持 ≥40px 点击高度。
  • 价格标签胶囊保持 ≥36px 点击高度;触摸视口增长到 ≥44px。
  • 表单输入在触摸上保持 ≥44px 点击目标。

折叠策略

  • 顶导:768px 以下链接折叠为汉堡菜单。
  • 卡片网格:1024px 时 3 列 → 2 列,768px 以下 1 列。
  • 价格对比:768px 以下按档位手风琴。
  • 展示型字体{typography.display-xl} 80px 在移动端向 {typography.display-md} 40px 缩放。

图片行为

  • 产品 UI 截图保持宽高比且永不裁剪。
  • 跑马灯中的客户 Logo 768px 以下可从 6 列折叠为 3 列。

迭代指南

  1. 一次只聚焦一个组件,并以其 components: token 名引用。
  2. 引入段落时,先决定它位于哪一档表面抬升上。
  3. 正文默认 {typography.body} 400 字重。
  4. 编辑后运行 npx @google/design.md lint DESIGN.md
  5. 新增变体作为独立组件条目。
  6. 把薰衣草视为稀缺:品牌标志、主 CTA、聚焦、链接强调。
  7. 每个段落以产品 UI 截图开篇。

已知缺口

  • 四级表面阶梯数值直接抽取自 Linear 的 --color-bg-level-3--color-line-tint 等 CSS 变量;它们是 Linear 的规范表面规格。
  • 表单字段错误与校验样式在所检视页面中不可见。
  • 浅色模式未文档化,因为营销站点不发布浅色主题。
  • Linear 的实际产品 UI 使用更丰富的颜色标签调色板(红、橙、黄、绿、蓝、紫)用于议题优先级与项目标签——这些颜色位于模拟中显示的产品内表面。
  • 定制展示、文本与等宽字族是专有的;可接受开源替代。