shopify-ui-skills
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseShopify UI Skills
Shopify UI 设计规范
Opinionated constraints for building Shopify-style interfaces with AI agents.
用于借助AI Agent构建Shopify风格界面的约束规范。
When to Apply
适用场景
Reference these guidelines when:
- Building light-mode interfaces
- Creating Shopify-inspired design systems
- Implementing UIs with Inter font and 4px grid
在以下场景中参考本指南:
- 构建浅色模式界面
- 创建受Shopify启发的设计系统
- 实现采用Inter字体和4px网格的UI
Colors
颜色
- SHOULD use light backgrounds for primary surfaces
- MUST use as page background (
#FEFEFE)surface-base - SHOULD limit color palette to 10 distinct colors
- MUST maintain text contrast ratio of at least 4.5:1 for accessibility
- 主界面应使用浅色背景
- 页面背景必须使用(
#FEFEFE)surface-base - 调色板应限制为10种不同颜色
- 为保证可访问性,文本对比度必须至少达到4.5:1
Semantic Tokens
语义化变量
| Token | HEX | RGB | Usage |
|---|---|---|---|
| #FEFEFE | rgb(254,254,254) | Page background |
| #04090B | rgb(4,9,11) | Cards, modals, raised surfaces |
| #858A8E | rgb(133,138,142) | Headings, body text |
| #C9CCCD | rgb(201,204,205) | Secondary, muted text |
| #B9BCBF | rgb(185,188,191) | Additional text |
| #DFE1E2 | rgb(223,225,226) | Subtle borders, dividers |
| 变量 | 十六进制值 | RGB值 | 用途 |
|---|---|---|---|
| #FEFEFE | rgb(254,254,254) | 页面背景 |
| #04090B | rgb(4,9,11) | 卡片、模态框、悬浮层 |
| #858A8E | rgb(133,138,142) | 标题、正文文本 |
| #C9CCCD | rgb(201,204,205) | 次要、弱化文本 |
| #B9BCBF | rgb(185,188,191) | 辅助文本 |
| #DFE1E2 | rgb(223,225,226) | 细微边框、分隔线 |
Typography
排版
- MUST use as primary font family
Inter - SHOULD use single font family for consistency
- MUST use /
88pxfor primary headingsextra_bold - MUST use /
39pxfor body text500 - SHOULD reduce font weights (currently 5 detected)
- MUST use for headings and
text-balancefor body texttext-pretty - SHOULD use for numeric data
tabular-nums - NEVER modify letter-spacing unless explicitly requested
- 必须将作为主要字体族
Inter - 为保证一致性,应使用单一字体族
- 一级标题必须使用/
88px(特粗体)extra_bold - 正文必须使用/
39px(中等字重)500 - 应减少字重数量(当前检测到5种)
- 标题必须使用(文本平衡),正文必须使用
text-balance(文本美化)text-pretty - 数字数据应使用(等宽数字)
tabular-nums - 除非明确要求,否则不得修改字间距
Text Styles
文本样式
| Style | Font | Size | Weight | Color | Count |
|---|---|---|---|---|---|
| Inter | 88px | extra_bold | #D5D6D7 | 1 |
| Inter | 63px | semi_bold | #C9CCCD | 1 |
| Inter | 39px | 500 | #858A8E | 1 |
| Inter | 29px | semi_bold | #DBDCDE | 1 |
| Inter | 27px | 400 | #B7BABD | 1 |
| Inter | 17px | 400 | #B9BCBF | 1 |
| Inter | 16px | 400 | #9FA2A6 | 1 |
| Inter | 15px | 300 | #A5A8AC | 1 |
| Inter | 15px | 400 | #A4A7AA | 1 |
| Inter | 13px | 400 | #3E3E3E | 1 |
| 样式 | 字体 | 字号 | 字重 | 颜色 | 数量 |
|---|---|---|---|---|---|
| Inter | 88px | extra_bold | #D5D6D7 | 1 |
| Inter | 63px | semi_bold | #C9CCCD | 1 |
| Inter | 39px | 500 | #858A8E | 1 |
| Inter | 29px | semi_bold | #DBDCDE | 1 |
| Inter | 27px | 400 | #B7BABD | 1 |
| Inter | 17px | 400 | #B9BCBF | 1 |
| Inter | 16px | 400 | #9FA2A6 | 1 |
| Inter | 15px | 300 | #A5A8AC | 1 |
| Inter | 15px | 400 | #A4A7AA | 1 |
| Inter | 13px | 400 | #3E3E3E | 1 |
Typography Reference
排版参考
Font Families:
- (used 14x)
Inter
Font Sizes: 12px, 13px, 15px, 16px, 17px, 27px, 29px, 39px, 63px, 88px
字体族:
- (使用14次)
Inter
字体大小: 12px, 13px, 15px, 16px, 17px, 27px, 29px, 39px, 63px, 88px
Spacing
间距
- MUST use 4px grid for spacing
- SHOULD use spacing from scale: 4px, 5px, 6px, 7px, 65px
- SHOULD use 5px as default gap between elements
- NEVER use arbitrary spacing values (use design scale)
- SHOULD maintain consistent padding within containers
- 必须使用4px网格进行间距设置
- 应使用以下间距刻度值:4px, 5px, 6px, 7px, 65px
- 元素间默认间距应使用5px
- 不得使用任意间距值(需遵循设计刻度)
- 容器内的内边距应保持一致
Borders
边框
- MUST use border-radius from scale: 19px, 26px, 28px
- SHOULD use 26px+ radius for pill-shaped elements
- MUST use 2px border width consistently
- SHOULD use 19px as default border-radius
- NEVER use arbitrary border-radius values (use design scale)
- SHOULD use subtle borders (1px) for element separation
- 必须使用以下圆角刻度值:19px, 26px, 28px
- 胶囊形元素应使用26px及以上的圆角
- 必须统一使用2px的边框宽度
- 默认圆角应使用19px
- 不得使用任意圆角值(需遵循设计刻度)
- 元素分隔应使用细边框(1px)
Border Radius Reference
圆角参考
Scale: 19px, 26px, 28px
刻度值: 19px, 26px, 28px
Layout
布局
- MUST design for 1920px base viewport width
- SHOULD use consistent element widths: 11px
- SHOULD maintain text-heavy layout with clear hierarchy
- NEVER use , use
h-screenfor full viewport heighth-dvh - MUST respect for fixed elements
safe-area-inset - SHOULD use for square elements instead of
size-*+w-*h-*
- 必须以1920px为基础视口宽度进行设计
- 应使用统一的元素宽度:11px
- 应保持以文本为主的布局,层级清晰
- 不得使用,需使用
h-screen实现全屏视口高度h-dvh - 固定元素必须考虑(安全区域内边距)
safe-area-inset - 方形元素应使用而非
size-*+w-*h-*
Detected Layout Patterns
已检测到的布局模式
- Main Content: width: 1855px, height: 1080px
- Main Content: width: 1920px, height: 747px
- Main Content: width: 1920px, height: 745px
- 主内容区: 宽度: 1855px, 高度: 1080px
- 主内容区: 宽度: 1920px, 高度: 747px
- 主内容区: 宽度: 1920px, 高度: 745px
Components
组件
Buttons
按钮
| Variant | Background | Text | Border | Height | Radius |
|---|---|---|---|---|---|
| Ghost | transparent | #B9BCBF | none | - | - |
| 变体 | 背景 | 文本 | 边框 | 高度 | 圆角 |
|---|---|---|---|---|---|
| 幽灵按钮 | transparent | #B9BCBF | none | - | - |
Interactive States
交互状态
Focus
聚焦状态
- MUST use outline with accent color (
2px)#5E6AD2 - MUST use outline-offset
2px - NEVER remove focus indicators
- 必须使用2px宽度的强调色()外边框
#5E6AD2 - 必须设置2px的外边框偏移量
- 不得移除聚焦指示器
Hover
悬停状态
- Buttons (primary): lighten background by 10%
- Buttons (secondary): use background
#04090B - List items: use background
#04090B
- 主按钮:背景色提亮10%
- 次要按钮:使用作为背景色
#04090B - 列表项:使用作为背景色
#04090B
Disabled
禁用状态
- MUST use
opacity: 0.5 - MUST use
cursor: not-allowed
- 必须设置(透明度50%)
opacity: 0.5 - 必须设置(禁止光标)
cursor: not-allowed
Interaction
交互规范
- MUST use an for destructive or irreversible actions
AlertDialog - SHOULD use structural skeletons for loading states
- MUST show errors next to where the action happens
- NEVER block paste in or
inputelementstextarea - MUST add an to icon-only buttons
aria-label
- 对于破坏性或不可逆操作,必须使用(警告对话框)
AlertDialog - 加载状态应使用结构化骨架屏
- 错误提示必须显示在操作发生的位置附近
- 不得禁止或
input元素的粘贴功能textarea - 纯图标按钮必须添加(无障碍标签)
aria-label
Animation
动画
- NEVER add animation unless it is explicitly requested
- MUST animate only compositor props (,
transform)opacity - NEVER animate layout properties (,
width,height,top,left,margin)padding - SHOULD use on entrance animations
ease-out - NEVER exceed for interaction feedback
200ms - SHOULD respect
prefers-reduced-motion
- 除非明确要求,否则不得添加动画
- 仅允许对合成器属性(,
transform)执行动画opacity - 不得对布局属性(,
width,height,top,left,margin)执行动画padding - 入场动画应使用(缓出)效果
ease-out - 交互反馈动画时长不得超过200ms
- 应尊重(减少动画偏好设置)
prefers-reduced-motion
Performance
性能
- NEVER animate large or
blur()surfacesbackdrop-filter - NEVER apply outside an active animation
will-change - NEVER use for anything that can be expressed as render logic
useEffect
- 不得对大面积或
blur()区域执行动画backdrop-filter - 不得在非活跃动画场景下使用
will-change - 任何可通过渲染逻辑实现的功能,不得使用
useEffect