popular
玻璃拟态 Glassmorphism
雾面玻璃后的冷色天空。
什么是 DESIGN.md适合: 天气、音乐、氛围向消费 App
不适合: 高信息密度表格、低端设备优先场景
三步交给 Agent
- 1复制下面的 DESIGN.md。
- 2放到仓库根目录。
- 3在 Cursor、Claude Code、Codex 或 Stitch 的规则里点名它。
一行安装
在仓库根目录执行。npm 上的 driftless 是别人的计时库。带 --skill 会同时写入 Cursor 和 Claude 的技能目录。
npx driftless-styles add glassmorphism
npx driftless-styles add glassmorphism --skill
MCP 配置
{
"mcpServers": {
"driftless": {
"command": "npx",
"args": ["-y", "driftless-mcp"]
}
}
}雾空天气
Specimen
The quick brown fox
primary
secondary
tertiary
background
surface
outline
muted
success
warning
error
onSurface
onBackground
onPrimary
onSecondary
onTertiary
h1 — Design systems for agents
h2 — Design systems for agents
h3 — Design systems for agents
body — Design systems for agents
label — Design systems for agents
caption — Design systems for agents
mono — Design systems for agents
PrimarySecondaryCard
要做
- 组件里用语义色 token,不要写死 hex。
- 只留一个强调色;层级靠字重和留白。
- 写清默认、悬停、焦点、按下、禁用和加载状态。
- 正文和可交互标签达到 WCAG 2.2 AA 对比度。
- 触控区域在 iOS 至少 44×44pt,在网页至少 44px。
不要做
- 高级感的展示标题不要用 Inter。
- 大面积不要用纯黑 #000000。
- 不要加霓虹外发光,也不要自定义鼠标光标。
- 不要把三张等宽功能卡当成默认布局。
- 不要藏掉焦点环,也不要低于 AA 对比度。
DESIGN.md
---
version: alpha
name: 玻璃拟态 Glassmorphism
description: 雾面玻璃后的冷色天空。
colors:
primary: "#2563EB"
secondary: "#64748B"
tertiary: "#7DD3FC"
background: "#E8F1FF"
surface: rgba(255,255,255,0.62)
onPrimary: "#F4F4F5"
onSecondary: "#F4F4F5"
onTertiary: "#18181B"
onBackground: "#0F172A"
onSurface: "#0F172A"
outline: rgba(255,255,255,0.55)
muted: "#475569"
success: "#0F766E"
warning: "#B45309"
error: "#BE123C"
typography:
h1:
fontFamily: Outfit
fontSize: 40px
fontWeight: 600
lineHeight: 1.12
letterSpacing: -0.03em
h2:
fontFamily: Outfit
fontSize: 28px
fontWeight: 600
lineHeight: 1.2
letterSpacing: -0.02em
h3:
fontFamily: Outfit
fontSize: 20px
fontWeight: 600
lineHeight: 1.3
letterSpacing: -0.01em
body:
fontFamily: DM Sans
fontSize: 16px
fontWeight: 400
lineHeight: 1.55
letterSpacing: 0em
label:
fontFamily: DM Sans
fontSize: 13px
fontWeight: 500
lineHeight: 1.3
letterSpacing: 0.02em
caption:
fontFamily: DM Sans
fontSize: 12px
fontWeight: 400
lineHeight: 1.4
letterSpacing: 0em
mono:
fontFamily: JetBrains Mono
fontSize: 13px
fontWeight: 500
lineHeight: 1.45
letterSpacing: 0em
rounded:
sm: 12px
md: 18px
lg: 24px
xl: 32px
full: 999px
spacing:
xs: 4px
sm: 8px
md: 16px
lg: 24px
xl: 32px
2xl: 48px
3xl: 64px
components:
navbar:
backgroundColor: "{colors.background}"
textColor: "{colors.onBackground}"
hero:
backgroundColor: "{colors.background}"
textColor: "{colors.onBackground}"
stat:
backgroundColor: "{colors.surface}"
textColor: "{colors.onSurface}"
rounded: "{rounded.lg}"
chart:
backgroundColor: "{colors.surface}"
textColor: "{colors.primary}"
list-item:
backgroundColor: "{colors.surface}"
textColor: "{colors.onSurface}"
height: 44px
notice:
backgroundColor: "{colors.surface}"
textColor: "{colors.onSurface}"
rounded: "{rounded.lg}"
footer:
backgroundColor: "{colors.background}"
textColor: "{colors.muted}"
---
# 玻璃拟态 Glassmorphism
## Overview
雾面玻璃后的冷色天空。 整体气质是 日常应用适中、错落不对称、动效 流畅 CSS 动效。品牌语气:airy / luminous / layered。密度 4/10,变化 6/10,动效 7/10。 材质:必须 backdrop-filter: blur(20-28px) saturate(1.5+)。半透填充 + 高光描边。背后的网格缓慢漂移,边缘有扫光。禁止用扁色块冒充。
How to use: 把本文件放到仓库根目录。在 Cursor / Claude Code / Codex 提示词中写:请阅读 DESIGN.md 并严格遵守其中的 tokens 与 Do/Don't。
## Colors
Semantic roles for the light theme. Keep a single accent; do not introduce a second brand hue.
- **primary** (`#2563EB`)
- **secondary** (`#64748B`)
- **tertiary** (`#7DD3FC`)
- **background** (`#E8F1FF`)
- **surface** (`rgba(255,255,255,0.62)`)
- **outline** (`rgba(255,255,255,0.55)`)
- **muted** (`#475569`)
- **success** (`#0F766E`)
- **warning** (`#B45309`)
- **error** (`#BE123C`)
- **onSurface** (`#0F172A`)
- **onBackground** (`#0F172A`)
- **onPrimary** (`#F4F4F5`)
- **onSecondary** (`#F4F4F5`)
- **onTertiary** (`#18181B`)
## Typography
Hierarchy comes from weight and size, not from shouting. Body line length stays near 65 characters.
- **h1**: Outfit 600 / 40px / 1.12 / -0.03em
- **h2**: Outfit 600 / 28px / 1.2 / -0.02em
- **h3**: Outfit 600 / 20px / 1.3 / -0.01em
- **body**: "DM Sans" 400 / 16px / 1.55 / 0em
- **label**: "DM Sans" 500 / 13px / 1.3 / 0.02em
- **caption**: "DM Sans" 400 / 12px / 1.4 / 0em
- **mono**: "JetBrains Mono" 500 / 13px / 1.45 / 0em
## Layout
Spacing scale: xs=4px, sm=8px, md=16px, lg=24px, xl=32px, 2xl=48px, 3xl=64px.
iOS:触控目标 ≥ 44pt,尊重 Safe Area 与 Dynamic Type,图标用 SF Symbols,导航使用 Large Title / 分组列表。
Web:移动优先,<768px 单列,正文 ≥ 16px,标题用 clamp(),容器 max-width 约 1120–1400px,全高区块用 min-h-[100dvh]。
Every element occupies its own spatial zone. No overlapping hero text. Collapse multi-column layouts below 768px.
## Elevation & Depth
- sm: `0 8px 24px rgba(37,99,235,0.08)`
- md: `0 16px 40px rgba(37,99,235,0.12)`
- lg: `0 28px 60px rgba(37,99,235,0.16)`
- surface: `glass`
- blur: `24px`
- saturate: `1.7`
- recipe: 必须 backdrop-filter: blur(20-28px) saturate(1.5+)。半透填充 + 高光描边。背后的网格缓慢漂移,边缘有扫光。禁止用扁色块冒充。
阴影带背景色相。高密度布局可用细分隔线代替卡片。
动效已接线:按钮按下、开关、滑杆和画布明暗使用 200ms / cubic-bezier(0.22, 1, 0.36, 1),弹簧 stiffness 100 / damping 20。液态/黏土按压用弹性;野兽按下吃掉硬偏移;新拟态按下变内凹。
氛围性格是漂移:网格照片缓慢移动,玻璃边缘有扫光。玻璃必须透出背后的场,不能是扁色矩形。 循环氛围在 prefers-reduced-motion 时停止;按下仍可以一次到位。
禁止用扁色块冒充玻璃:必须 backdrop-filter,且玻璃后面要有可透的图像或网格。
## Shapes
Radius scale: sm=12px, md=18px, lg=24px, xl=32px, full=999px.
## Components
- **导航栏** (`web.navbar` / default / md): 桌面横导航含 logo、带图标的链接和一个主 CTA。
- **Hero** (`web.hero` / left / lg): Hero 使用 left 布局,最多一个主 CTA,禁止「Scroll to explore」。
- **指标块** (`stat` / default / md): 数字用等宽字体,标签用大写弱化。
- **图表** (`chart` / area / md): 迷你面积/柱状图,颜色用 primary / secondary。
- **列表行** (`list-item` / chevron / md): 行高至少 44pt,标题 + 说明,右侧可放 chevron。
- **列表行** (`list-item` / chevron / md): 行高至少 44pt,标题 + 说明,右侧可放 chevron。
- **通知行** (`notice` / default / md): 通知行:图标 + 标题 + 时间。
- **页脚** (`web.footer` / default / md): 页脚克制,链接分组清晰。
## Do's and Don'ts
### Do
- 组件里用语义色 token,不要写死 hex。
- 只留一个强调色;层级靠字重和留白。
- 写清默认、悬停、焦点、按下、禁用和加载状态。
- 正文和可交互标签达到 WCAG 2.2 AA 对比度。
- 触控区域在 iOS 至少 44×44pt,在网页至少 44px。
### Don't
- 高级感的展示标题不要用 Inter。
- 大面积不要用纯黑 #000000。
- 不要加霓虹外发光,也不要自定义鼠标光标。
- 不要把三张等宽功能卡当成默认布局。
- 不要藏掉焦点环,也不要低于 AA 对比度。