关于 airbnb-ui-skills
面向 AI Agent 的 Airbnb 风格界面设计规范,适用于浅色界面和设计系统。它为颜色、字体、布局和交互提供约束,并涉及可访问性与性能。
主要功能
- 01Airbnb 风格设计约束
- 02颜色与语义令牌
- 03Inter 字体与排版规范
- 044px 网格与布局规则
- 05交互、动画及性能要求
适用场景
- 01构建浅色模式界面
- 02创建 Airbnb 风格设计系统
- 03使用 Inter 和 4px 网格实现 UI
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ihlamury/ design-skills --skill airbnb-ui-skills安装后在 Claude Code 中输入/airbnb-ui-skills确认已加载。
附带文件metadata.json
详细介绍
Airbnb UI 技能
使用 AI Agent 构建 Airbnb 风格界面时应遵循的约束。
适用场景
在以下情况中参考这些指南:
- 构建浅色模式界面
- 创建受 Airbnb 启发的设计系统
- 使用 Inter 字体和 4px 网格实现 UI
颜色
- SHOULD 为主要表面使用浅色背景
- MUST 将
#FEFEFE用作页面背景(surface-base) - SHOULD 精简调色板(当前检测到 13 种颜色)
- MUST 将文本对比度保持在至少 4.5:1,以满足无障碍要求
语义令牌
| 令牌 | HEX | RGB | 用途 |
|---|---|---|---|
surface-base | #FEFEFE | rgb(254,254,254) | 页面背景 |
surface-raised | #EEEBE4 | rgb(238,235,228) | 卡片、模态框、凸起表面 |
surface-overlay | #D5D3D1 | rgb(213,211,209) | 覆盖层、工具提示、下拉菜单 |
text-primary | #8F8F8F | rgb(143,143,143) | 标题、正文文本 |
text-2 | #5C5955 | rgb(92,89,85) | 其他文本 |
text-secondary | #686868 | rgb(104,104,104) | 次要、弱化文本 |
border-default | #E6DECC | rgb(230,222,204) | 细边框、分隔线 |
destructive | #E25275 | rgb(226,82,117) | 错误状态、删除操作 |
warning | #E6DECC | rgb(230,222,204) | 警告状态、注意事项 |
排版
- MUST 使用
Inter作为主要字体系列 - SHOULD 使用单一字体系列以保持一致性
- MUST 将主要标题设为
19px/500 - MUST 将正文文本设为
15px/400 - MUST 将字体粗细限制为:light、regular、medium
- MUST 对标题使用
text-balance,对正文文本使用text-pretty - SHOULD 对数值数据使用
tabular-nums - NEVER 在未明确要求时修改字间距
文本样式
| 样式 | 字体 | 大小 | 粗细 | 颜色 | 数量 |
|---|---|---|---|---|---|
heading-1 | Inter | 19px | 500 | #4A4A4A | 1 |
heading-2 | Inter | 19px | 500 | #E25275 | 1 |
heading-3 | Inter | 15px | 300 | #C3C0BC | 1 |
body | Inter | 15px | 400 | #919191 | 1 |
body-secondary | Inter | 15px | 500 | #494949 | 1 |
body-secondary | Inter | 15px | 500 | #474747 | 1 |
body-secondary | Inter | 14px | 400 | #919191 | 5 |
body-secondary | Inter | 14px | 300 | #919191 | 3 |
body-secondary | Inter | 14px | 300 | #929292 | 3 |
body-secondary | Inter | 14px | 400 | #909090 | 1 |
排版参考
字体系列:
Inter(使用 65 次)
字体大小: 6px、8px、9px、10px、11px、13px、14px、15px、19px
间距
- MUST 使用 4px 网格设置间距
- SHOULD 使用以下间距刻度:1px、2px、3px、5px、6px、9px、10px、41px
- SHOULD 将 2px 设为元素间的默认间距
- NEVER 使用任意间距值(使用设计刻度)
- SHOULD 保持容器内边距一致
边框
- MUST 使用以下圆角刻度:11px、12px、13px、14px、28px
- SHOULD 为药丸形元素使用 28px 及以上的圆角
- MUST 始终使用 1px 边框宽度
- SHOULD 将 11px 设为默认圆角
- NEVER 使用任意圆角值(使用设计刻度)
- SHOULD 使用细边框(1px)分隔元素
圆角参考
刻度: 11px、12px、13px、14px、28px
布局
- MUST 按 1920px 的基础视口宽度进行设计
- SHOULD 使用一致的元素宽度:249px、24px、97px、28px、78px
- SHOULD 保持以文本为主的布局,并建立清晰的层级
- NEVER 使用
h-screen,全视口高度请使用h-dvh - MUST 为固定元素遵循
safe-area-inset - SHOULD 对正方形元素使用
size-*,而非w-*+h-*
检测到的布局模式
- 主要内容:宽度:1920px,高度:1080px
- 主要内容:宽度:1920px,高度:879px
组件
- MUST 将输入字段的高度设为
0px
按钮
| 变体 | 背景 | 文本 | 边框 | 高度 | 圆角 |
|---|---|---|---|---|---|
| Ghost | 透明 | #5C5955 | 无 | - | - |
输入框
- 高度:
0px
交互状态
焦点
- MUST 使用
2px轮廓,并采用强调色(#5E6AD2) - MUST 使用
2px的轮廓偏移 - NEVER 移除焦点指示器
悬停
- 按钮(主要):将背景颜色调亮 10%
- 按钮(次要):使用
#EEEBE4背景 - 列表项:使用
#EEEBE4背景
禁用
- MUST 使用
opacity: 0.5 - MUST 使用
cursor: not-allowed
交互
- MUST 对破坏性或不可逆操作使用
AlertDialog - SHOULD 使用结构化骨架屏表示加载状态
- MUST 在操作发生的位置附近显示错误
- NEVER 阻止在
input或textarea元素中粘贴 - MUST 为仅含图标的按钮添加
aria-label
动画
- NEVER 添加未明确请求的动画
- MUST 仅对合成器属性(
transform、opacity)添加动画 - NEVER 对布局属性(
width、height、top、left、margin、padding)添加动画 - SHOULD 在入场动画中使用
ease-out - NEVER 将交互反馈时长设为超过
200ms - SHOULD 遵循
prefers-reduced-motion
性能
- NEVER 对大面积
blur()或backdrop-filter表面添加动画 - NEVER 在动画未激活时使用
will-change - NEVER 对可用渲染逻辑表达的内容使用
useEffect
评论
支持 Markdown