GitHub 设计系统.

GitHub 设计系统 — 代码优先平台。功能密度高,蓝白配色精准,基于 Primer 设计体系。

在真实场景中查看

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

网站
幻灯片
应用
海报

设计 token

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

表面

  • --bg #ffffff
  • --surface #f6f8fa
  • --surface-warm var(--surface)

文本

  • --fg #1f2328
  • --fg-2 #1f2328
  • --muted #656d76
  • --meta #656d76

边框

  • --border #d0d7de
  • --border-soft #d8dee4

强调色

  • --accent #0969da
  • --accent-on #ffffff
  • --accent-hover #0550ae
  • --accent-active color-mix(in oklab, var(--accent), black 14%)

语义

  • --success #1a7f37
  • --warn #9a6700
  • --danger #cf222e

字体排印

  • --font-display -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"
  • --font-body -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"
  • --font-mono ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace

字号层级

  • --text-xs 12px
  • --text-sm 14px
  • --text-base 14px
  • --text-lg 16px
  • --text-xl 20px
  • --text-2xl 24px
  • --text-3xl 28px
  • --text-4xl 32px
  • --leading-body 1.5
  • --leading-tight 1.25
  • --tracking-display -0.01em

间距

  • --space-1 4px
  • --space-2 8px
  • --space-3 12px
  • --space-4 16px
  • --space-5 20px
  • --space-6 24px
  • --space-8 32px
  • --space-12 48px
  • --section-y-desktop 64px
  • --section-y-tablet 48px
  • --section-y-phone 32px

圆角

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

层级阴影

  • --elev-flat none
  • --elev-ring 0 0 0 1px var(--border)
  • --elev-raised 0 1px 3px rgba(31, 35, 40, 0.12), 0 8px 24px rgba(66, 74, 83, 0.12)

聚焦

  • --focus-ring 0 0 0 3px rgba(9, 105, 218, 0.3)

动效

  • --motion-fast 80ms
  • --motion-base 200ms
  • --ease-standard ease-out

布局

  • --container-max 1280px
  • --container-gutter-desktop 24px
  • --container-gutter-tablet 16px
  • --container-gutter-phone 16px

受 GitHub 启发的设计系统

Category: 开发者工具 以代码为核心的平台。功能密度高,蓝白配色精准,基于 Primer 规范。

1. 视觉主题与氛围

GitHub 的界面是工程化的,而非装饰性的。每一个像素都在传达一种立场:这是一款为在乎 diff、构建和 pull request 的人而生的工具。页面背景是干净的 #ffffff(浅色模式)或 #0d1117(深色模式),内容排布在密集的矩形面板上,面板之间用细线边框分隔,而非留白。信息密度即品牌——列表行、代码行、仓库标题和通知卡片紧密排列,让有经验的用户无需滚动即可浏览上百条内容。

标志性的强调色是用于链接和主要操作的 Primer 蓝 (#0969da),以及用于合并状态、成功提示和合并按钮的 GitHub 绿 (#1a7f37)。与消费品的蓝绿色相比,两者都略显低调——饱和度足以在密集的灰色文字中清晰可辨,又克制到足以在同一视口中出现多次时不显突兀。

排版使用覆盖整个产品的 system-ui 字体栈,确保文字在所有操作系统上清晰渲染,搭配 SFMono / Menlo / Consolas 用于代码。没有编辑类展示字体;GitHub 的声音就是你正在使用的系统本身的声音。

关键特征:

  • 纯白画布(#ffffff)或深海军蓝黑(#0d1117)——无暖调,无色调倾向
  • 细线灰色边框(#d0d7de)定义每个面板
  • Primer 蓝(#0969da)用于链接/主要操作;GitHub 绿(#1a7f37)用于成功/合并
  • system-ui 用于正文;SFMono 用于代码——无自定义字体
  • 内边距极小的密集列表行;留白稀少
  • 16px / 24px 的 Octicon 图标——单描边、几何形态、风格统一
  • 具有强色彩语义的胶囊状状态徽章

2. 色彩调色板与角色

主色

  • Canvas Default#ffffff):浅色主题主页面背景。
  • Canvas Subtle#f6f8fa):次级表面、侧边栏、输入框背景、顶栏区域。
  • Canvas Inset#eaeef2):代码块背景、深内嵌表面。
  • Fg Default#1f2328):主文本、标题、正文。
  • Fg Muted#656d76):次级文本、说明文字、文件路径。

品牌强调色

  • Primer Blue#0969da):链接、主要 CTA、焦点圆环基色——通用交互色。
  • Primer Blue Hover#0550ae):主蓝色的悬停/按下状态。
  • Accent Subtle#ddf4ff):用于标注、信息横幅的柔和蓝色表面。

语义色

  • Success / Merge Green#1a7f37):已合并 PR、成功徽章、合并按钮。
  • Success Subtle#dafbe1):成功状态的表面色调。
  • Open Green#1a7f37):Issue/PR 的”Open”状态。
  • Closed / Danger Red#cf222e):已关闭 PR、破坏性操作、验证错误。
  • Danger Subtle#ffebe9):错误横幅表面。
  • Attention / Warning Yellow#9a6700):琥珀色表面上的警告文字。
  • Attention Subtle#fff8c5):警告横幅表面。
  • Done Purple#8250df):已合并并归档、“done”状态、高级徽章。
  • Sponsor Pink#bf3989):赞助心形图标、GitHub Sponsors 品牌色。

边框与分割线

  • Border Default#d0d7de):标准细线边框、面板轮廓。
  • Border Muted#d8dee4):面板内部分割线。
  • Border Subtle#eaeef2):隐约的表格行分割线。

深色主题

  • Dark Canvas#0d1117):深色页面背景。
  • Dark Surface#161b22):侧边栏、顶栏、次级表面。
  • Dark Border#30363d):标准深色模式边框。
  • Dark Fg#e6edf3):深色背景上的主文本。

3. 排版规则

字体系列

  • 正文 / UI-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif
  • 代码 / 等宽ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace
  • Emoji"Apple Color Emoji", "Segoe UI Emoji"

层级

角色字体字号字重行高字距备注
Displaysystem-ui32px (2rem)6001.25-0.01em仓库标题、营销首屏
H1system-ui24px (1.5rem)6001.25normal页面标题
H2system-ui20px (1.25rem)6001.25normal区域标题
H3system-ui16px (1rem)6001.25normal子区域、面板标题
Bodysystem-ui14px (0.875rem)4001.5normal默认文本尺寸——非 16px
Body Smallsystem-ui12px (0.75rem)4001.4normal说明文字、文件元数据
CodeSFMono12px (0.75rem)4001.45normal代码块、diff
Code InlineSFMono0.85em400inheritnormal行内 code

原则

  • 正文 14px,非 16px:GitHub 的文字密度是其标识。产品以 14px 阅读,以便在视口中容纳更多行。
  • 字重二元化:默认全部 400;标题和强调用 600。无 500,无 700。
  • 始终使用系统字体:绝不为界面加载网络字体——文字必须在慢网络下即时渲染。

4. 组件样式

按钮

主要按钮(绿色)

  • Background: #1f883d
  • Text: #ffffff
  • Border: 1px solid rgba(31, 35, 40, 0.15)
  • Padding: 5px 16px
  • Radius: 6px
  • Shadow: 0 1px 0 rgba(31,35,40,0.1)
  • Hover: background #1a7f37
  • 用途:“Create repository”、“Merge pull request”

默认按钮

  • Background: #f6f8fa
  • Text: #1f2328
  • Border: 1px solid #d0d7de
  • Padding: 5px 16px
  • Radius: 6px
  • Hover: background #f3f4f6,border #d0d7de

轮廓按钮(蓝色链接风格)

  • Background: #ffffff
  • Text: #0969da
  • Border: 1px solid #d0d7de
  • Hover: background #0969da,text #ffffff

危险按钮

  • Background: #ffffff
  • Text: #cf222e
  • Border: 1px solid #d0d7de
  • Hover: background #a40e26,text #ffffff,border #a40e26

卡片 / 盒子

  • Background: #ffffff
  • Border: 1px solid #d0d7de
  • Radius: 6px
  • Padding: 16px(标题)+ 16px(正文)
  • 标题区有 #f6f8fa 底色带下边框。

输入框

  • Background: #ffffff
  • Border: 1px solid #d0d7de
  • Radius: 6px
  • Padding: 5px 12px
  • Focus: border #0969da,ring 0 0 0 3px rgba(9,105,218,0.3)

状态徽章(Issue / PR)

  • Open:background #1a7f37,文字白色,padding 4px 10px,radius 9999px。
  • Closed:background #cf222e,文字白色。
  • Merged:background #8250df,文字白色。
  • Draft:background #6e7781,文字白色。

标签(Issue/PR 上的标签)

  • Padding: 0 7px
  • Radius: 9999px
  • Font: 12px / 500
  • 背景色和文字颜色由程序计算(标签颜色→文字颜色按对比度计算)。

5. 间距与布局

  • 基础单位:4px。间距比例:4, 8, 12, 16, 24, 32, 40, 48。
  • 页面最大宽度:1280px(Container-xl)。
  • 侧边栏:桌面端 296px,低于 1012px 时折叠。
  • 行内边距:水平 16px,垂直 12px(列表天生密集)。

6. 动效

  • 时长:悬停 80ms;菜单/弹出层展开 200ms。
  • 缓动:展开用 ease-out,关闭用 ease-in
  • 刻意回避:页面加载动画、视差效果、持续的微交互。元素直接出现,不表演。

7. 使用护栏

  • 密集列表、带边框的盒子和系统字体需搭配使用;单独使用绿色按钮不足以营造 GitHub 风格的产品界面。
  • 绿色用于建设性仓库操作,蓝色用于链接和焦点,红色/紫色/灰色仅用于 Issue、PR 和工作流状态。
  • 优先选择低调的界面装饰、明确的边框和紧凑的间距,而非装饰性阴影或大型营销风格卡片。
模式
design-system
场景
design
形态
web
Manifest ID
design-system-github

标签

  • design-system
  • first-party
  • design
  • developer-tools