ui-ux-pro-max
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseUI/UX Pro Max
UI/UX Pro Max
UI/UXデザインおよび実装の専門スキル。
核心: 「全部ちゃんとやる」がAI生成感の正体。「何を捨てるか」がデザイン。
UI/UX设计与实现的专业技能指南。
核心原则:「面面俱到」正是AI生成设计的通病,「懂得取舍」才是真正的设计。
対応領域
对应领域
- ランディングページ設計
- ダッシュボードUI
- SaaSプロダクト
- モバイルアプリ(レスポンシブ)
- 着陆页设计
- 仪表盘UI
- SaaS产品设计
- 移动应用(响应式)
行動原則(5つの鉄則)
行动原则(五大铁则)
1. 作る前に疑え
1. 动手前先质疑
- 全要素に「本当に要る?」を問え
- 答えが曖昧なら、まず無しで作れ
- 对所有要素问一句「真的需要吗?」
- 如果答案模糊,先去掉该要素再进行设计
2. 主役を1つ決めろ
2. 确定唯一主角
- 各セクションで「一番見せたいもの」を1つだけ決めろ
- 決まるまでコードを書くな
- 每个板块只确定一个「最想展示的内容」
- 未确定前不要写代码
3. 70点を並べるな
3. 拒绝平均主义
- 全要素が同じ存在感 = 失敗
- 1つを120点、残りを60点にしろ
- 所有要素存在感相同=设计失败
- 让一个要素达到120分,其余保持60分即可
4. 「できます」より「やめましょう」
4. 优先说「不」而非「可以」
- 追加より削除を提案しろ
- 迷ったら削れ
- 优先提议删除而非添加内容
- 拿不定主意时就删掉
5. 批判してから作れ
5. 先批判再创作
- 現状の問題点を3つ以上挙げてから改善案を出せ
- 「いい感じですね」は禁止
- 先列出当前设计的3个以上问题,再提出改进方案
- 禁止使用「感觉不错」这类模糊评价
AI生成感を避ける
避免AI生成感
やってはいけないこと
禁止事项
- 全要素が同じ存在感(均一な余白、安全な色)
- 決断の不在(AとBどちらでも、お好みで)
- 過剰な装飾(意味のないグラデーション、アニメーション)
- 所有要素存在感均等(统一的边距、保守的配色)
- 缺乏明确决策(A或B都可以,凭喜好选择)
- 过度装饰(无意义的渐变、动画)
「いい感じですね」禁止
「感觉不错」禁令
- 完成後も「改善の余地があるとすれば〜」を添えよ
- 決断を求められたら決断せよ(根拠を添えて一つを推奨)
- 完成设计后必须补充「如果说还有改进空间的话……」
- 被要求做决策时必须给出明确选择(附上理由)
視覚階層チェックリスト
视觉层级检查表
作業開始前
作业开始前
- 「このセクションの主役は何か」を言語化したか
- 「削除できる要素はないか」を検討したか
- 「なぜこの色か」を説明できるか
- 是否已明确表述「该板块的核心内容是什么」
- 是否已考虑「有哪些要素可以删除」
- 是否能说明「为什么选择这个配色」
作業中
作业进行中
- 全要素が同じ存在感になっていないか
- 視線の流れは意図通りか
- 背景がコンテンツの邪魔をしていないか
- 是否存在所有要素存在感均等的情况
- 视线流动是否符合预期
- 背景是否干扰了内容展示
作業完了前
作业完成前
- スマホで見て3秒以内に「何をすればいいか」分かるか
- 「AI生成感」の原因がないか
- 「ここは削れたのでは」と思う要素がないか
- 在手机上查看时,是否能在3秒内明确「该做什么」
- 是否存在导致「AI生成感」的设计问题
- 是否有「这里可以删掉」的多余要素
CRITICAL: アクセシビリティ優先
重中之重:优先保障可访问性
このセクションは最優先事項。デザインの美しさよりもアクセシビリティを優先する。
本部分为最高优先级事项,设计美观性需让位于可访问性。
WCAG 2.1 コントラスト要件
WCAG 2.1 对比度要求
| テキストサイズ | 最小コントラスト比 |
|---|---|
| 通常テキスト (< 18px) | 4.5:1 |
| 大きいテキスト (≥ 18px bold / ≥ 24px) | 3:1 |
| UI コンポーネント・アイコン | 3:1 |
| 文本尺寸 | 最小对比度 |
|---|---|
| 常规文本 (< 18px) | 4.5:1 |
| 大文本 (≥ 18px 粗体 / ≥ 24px) | 3:1 |
| UI组件・图标 | 3:1 |
必須: プロジェクトの globals.css を使用
必须要求:使用项目的globals.css
Tailwind のデフォルト色を直接使わない。 プロジェクトの で定義されたトークンを優先する。
globals.csstsx
// NG: Tailwind デフォルトをそのまま使用
<p className="text-slate-400">...</p>
<p className="text-slate-500">...</p>
// OK: プロジェクトトークンを使用
<p className="text-muted">...</p>
<p className="text-subtle">...</p>実装前に必ず を確認し、定義済みトークンを把握すること。
app/globals.css禁止直接使用Tailwind的默认配色。 优先使用项目中定义的设计令牌。
globals.csstsx
// 错误示例:直接使用Tailwind默认值
<p className="text-slate-400">...</p>
<p className="text-slate-500">...</p>
// 正确示例:使用项目令牌
<p className="text-muted">...</p>
<p className="text-subtle">...</p>实现前务必确认,掌握已定义的令牌。
app/globals.cssGlassmorphism とアクセシビリティの両立
玻璃拟态与可访问性的兼顾
警告: 半透明背景はコントラスト計算を複雑にする
| 背景タイプ | 問題 | 対策 |
|---|---|---|
| 実効背景色が不確定 | テキストは |
| 下層と混ざる | 重要テキストは |
| 半透明セクション | 背景画像と混ざる | muted text は避け、白系を使用 |
安全な組み合わせ:
tsx
// Glass card 内のテキスト
<div className="bg-white/5 backdrop-blur-xl ...">
<h3 className="text-white">タイトル</h3> {/* OK: 白は常に安全 */}
<p className="text-white/80">説明文</p> {/* OK: 80%白は十分 */}
</div>
// 危険な組み合わせ(避ける)
<div className="bg-white/5 ...">
<p className="text-slate-400">説明文</p> {/* NG: コントラスト不足の可能性 */}
</div>警告:半透明背景会使对比度计算复杂化
| 背景类型 | 问题 | 对策 |
|---|---|---|
| 实际背景色不确定 | 文本使用 |
| 会与下层内容混合 | 重要文本使用 |
| 半透明板块 | 会与背景图像混合 | 避免使用弱化文本,改用白色系文本 |
安全组合示例:
tsx
// 玻璃卡片内的文本
<div className="bg-white/5 backdrop-blur-xl ...">
<h3 className="text-white">标题</h3> {/* 正确:白色文本始终安全 */}
<p className="text-white/80">说明文字</p> {/* 正确:80%不透明度的白色足够清晰 */}
</div>
// 危险组合(需避免)
<div className="bg-white/5 ...">
<p className="text-slate-400">说明文字</p> {/* 错误:可能存在对比度不足问题 */}
</div>バッジ・タグのコントラスト
徽章・标签的对比度
同系色の組み合わせは危険:
tsx
// NG: 同系色でコントラスト不足
<span className="bg-indigo-600/20 text-indigo-400">Badge</span>
<span className="bg-amber-500/20 text-amber-400">開発中</span>
// OK: 十分なコントラストを確保
<span className="bg-indigo-600/30 text-indigo-300">Badge</span>
<span className="bg-amber-600/30 text-amber-200">開発中</span>同色系组合存在风险:
tsx
// 错误示例:同色系导致对比度不足
<span className="bg-indigo-600/20 text-indigo-400">Badge</span>
<span className="bg-amber-500/20 text-amber-400">开发中</span>
// 正确示例:确保足够对比度
<span className="bg-indigo-600/30 text-indigo-300">Badge</span>
<span className="bg-amber-600/30 text-amber-200">开发中</span>無効状態のテキスト
禁用状态的文本
tsx
// NG: 薄すぎてコントラスト不足
<button className="text-white/50" disabled>...</button>
// OK: 無効でも読める濃さ
<button className="text-white/70" disabled>...</button>tsx
// 错误示例:颜色过淡导致对比度不足
<button className="text-white/50" disabled>...</button>
// 正确示例:禁用状态仍保持可读浓度
<button className="text-white/70" disabled>...</button>多言語タイポグラフィ
多语言排版
なぜ必要か: 日本語は同じフォントサイズでも英語より視覚的に重く見える(画数が多いため)。同じサイズだと日本語が窮屈・重く見えるため、1段階小さくして視覚的バランスを取る。
必要性: 日语即使和英语使用相同字号,由于笔画较多,视觉上会显得更厚重。若使用相同字号,日语会显得拥挤沉重,因此需缩小一号字号以平衡视觉效果。
タイポグラフィトークン(globals.css で定義済み)
排版令牌(已在globals.css中定义)
| トークン | 用途 | 英語 (デスクトップ) | 日本語 (デスクトップ) |
|---|---|---|---|
| ランディングページのメインタイトル | 96px | 80px |
| セクション見出し(h2) | 48px | 40px |
| 機能タイトル、製品見出し | 30px | 24px |
| タグライン、リード文 | 24px | 20px |
| 令牌 | 用途 | 英语(桌面端) | 日语(桌面端) |
|---|---|---|---|
| 着陆页主标题 | 96px | 80px |
| 板块标题(h2) | 48px | 40px |
| 功能标题、产品标题 | 30px | 24px |
| 标语、引导文 | 24px | 20px |
使用方法
使用方法
tsx
// NG: Tailwind直接指定(言語による調整なし)
<h1 className="text-5xl md:text-8xl font-bold">...</h1>
// OK: トークン使用(自動で言語対応)
<h1 className="text-hero text-white">...</h1>tsx
// 错误示例:直接指定Tailwind样式(未根据语言调整)
<h1 className="text-5xl md:text-8xl font-bold">...</h1>
// 正确示例:使用令牌(自动适配语言)
<h1 className="text-hero text-white">...</h1>レスポンシブ対応
响应式适配
トークンにはモバイル・タブレット・デスクトップのレスポンシブサイズが含まれる。追加のブレークポイント指定は不要。
tsx
// NG: 冗長なブレークポイント指定
<h1 className="text-hero sm:text-hero md:text-hero">...</h1>
// OK: トークンのみ
<h1 className="text-hero">...</h1>令牌已包含移动端、平板端、桌面端的响应式字号,无需额外指定断点。
tsx
// 错误示例:冗余的断点指定
<h1 className="text-hero sm:text-hero md:text-hero">...</h1>
// 正确示例:仅使用令牌
<h1 className="text-hero">...</h1>適用対象
适用范围
- ランディングページの見出し(h1, h2)
- セクションタイトル
- 製品名、機能名
- タグライン、リード文
注意: 本文テキスト(p要素の長文)には適用しない。本文は 等の通常スタイルを使用。
text-white/80- 着陆页标题(h1, h2)
- 板块标题
- 产品名、功能名
- 标语、引导文
注意: 正文文本(p元素的长文本)不适用此规则,正文使用等常规样式。
text-white/80デザイントークン遵守ルール
设计令牌遵守规则
原則: Tailwindのデフォルト値を直接使用せず、 で定義されたデザイントークンを使用する。
globals.css原则: 禁止直接使用Tailwind默认值,必须使用中定义的设计令牌。
globals.css角丸(Border Radius)
圆角(Border Radius)
| トークン | 値 | 用途 |
|---|---|---|
| 8px | 小さいバッジ、タグ |
| 12px | ボタン、入力フィールド |
| 16px | カード、モーダル |
| 999px | ピル型ボタン、アバター |
tsx
// NG: Tailwind直接指定
<button className="rounded-lg">...</button>
<div className="rounded-xl">...</div>
// OK: トークン使用
<button className="rounded-[var(--radius-md)]">...</button>
<div className="rounded-[var(--radius-lg)]">...</div>| 令牌 | 数值 | 用途 |
|---|---|---|
| 8px | 小型徽章、标签 |
| 12px | 按钮、输入框 |
| 16px | 卡片、模态框 |
| 999px | 胶囊型按钮、头像 |
tsx
// 错误示例:直接指定Tailwind样式
<button className="rounded-lg">...</button>
<div className="rounded-xl">...</div>
// 正确示例:使用令牌
<button className="rounded-[var(--radius-md)]">...</button>
<div className="rounded-[var(--radius-lg)]">...</div>色
颜色
tsx
// NG: Tailwind色を直接使用
<p className="text-slate-400">...</p>
<div className="bg-gray-900">...</div>
// OK: プロジェクトトークン使用
<p className="text-muted">...</p>
<div className="bg-mued-bg">...</div>tsx
// 错误示例:直接使用Tailwind颜色
<p className="text-slate-400">...</p>
<div className="bg-gray-900">...</div>
// 正确示例:使用项目令牌
<p className="text-muted">...</p>
<div className="bg-mued-bg">...</div>トークン違反チェック
令牌违规检查
実装後は以下で違反を確認:
bash
undefined实现完成后,通过以下命令检查违规情况:
bash
undefined角丸のTailwind直接指定を検索
搜索直接使用Tailwind圆角的情况
grep -r "rounded-sm|rounded-md|rounded-lg|rounded-xl|rounded-2xl" components/
grep -r "rounded-sm|rounded-md|rounded-lg|rounded-xl|rounded-2xl" components/
色のTailwind直接指定を検索
搜索直接使用Tailwind颜色的情况
grep -r "bg-slate-|bg-gray-|text-slate-|text-gray-" components/
検出されたものは順次トークンに置換する。
---grep -r "bg-slate-|bg-gray-|text-slate-|text-gray-" components/
检测到的违规内容需逐步替换为令牌。
---デザインスタイル
设计风格
グラスモーフィズム
玻璃拟态(Glassmorphism)
css
/* Glass card - a11y compliant */
.glass-card {
background: rgba(255, 255, 255, 0.05);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 16px;
}注意: Glass card 内のテキストは または 以上を使用。
text-whitetext-white/80css
/* 符合可访问性的玻璃卡片 */
.glass-card {
background: rgba(255, 255, 255, 0.05);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 16px;
}注意: 玻璃卡片内的文本需使用或及以上不透明度的样式。
text-whitetext-white/80ダークモード優先
深色模式优先
css
/* Dark mode base - WCAG compliant */
:root {
--bg-primary: #0F0F1A;
--bg-secondary: #1A1A2E;
--text-primary: #FFFFFF;
--text-muted: #CBD5E1; /* slate-300: 4.5:1+ on dark */
--text-subtle: #9CA3AF; /* gray-400: 使用注意 */
--accent: #4F46E5;
}css
/* 符合WCAG标准的深色模式基础样式 */
:root {
--bg-primary: #0F0F1A;
--bg-secondary: #1A1A2E;
--text-primary: #FFFFFF;
--text-muted: #CBD5E1; /* slate-300: 在深色背景上对比度≥4.5:1 */
--text-subtle: #9CA3AF; /* gray-400: 使用时需注意 */
--accent: #4F46E5;
}ミニマリズム
极简主义
- 余白を恐れない
- 1画面1アクション
- 視覚的ノイズを減らす
- 不要惧怕留白
- 一屏一行动
- 减少视觉噪音
コンポーネント規約
组件规范
ボタン
按钮
tsx
// Primary CTA
<button className="bg-indigo-600 hover:bg-indigo-700 text-white px-6 py-3 rounded-lg transition-colors cursor-pointer">
CTA
</button>
// Secondary
<button className="bg-white/10 hover:bg-white/20 text-white px-6 py-3 rounded-lg transition-colors cursor-pointer">
Secondary
</button>
// Disabled - コントラスト維持
<button className="bg-white/5 text-white/70 cursor-not-allowed" disabled>
Disabled
</button>tsx
// 主要行动按钮(Primary CTA)
<button className="bg-indigo-600 hover:bg-indigo-700 text-white px-6 py-3 rounded-lg transition-colors cursor-pointer">
CTA
</button>
// 次要按钮
<button className="bg-white/10 hover:bg-white/20 text-white px-6 py-3 rounded-lg transition-colors cursor-pointer">
Secondary
</button>
// 禁用按钮 - 维持对比度
<button className="bg-white/5 text-white/70 cursor-not-allowed" disabled>
Disabled
</button>カード
卡片
tsx
// Glass card with accessible text
<div className="bg-white/5 backdrop-blur-xl border border-white/10 rounded-2xl p-6">
<h3 className="text-white font-semibold">Title</h3>
<p className="text-white/80">Description with sufficient contrast</p>
</div>tsx
// 包含可访问文本的玻璃卡片
<div className="bg-white/5 backdrop-blur-xl border border-white/10 rounded-2xl p-6">
<h3 className="text-white font-semibold">Title</h3>
<p className="text-white/80">Description with sufficient contrast</p>
</div>テキスト階層
文本层级
tsx
// ソリッド背景(#0F0F1A 等)での使用
<h1 className="text-4xl font-bold text-white">見出し</h1>
<h2 className="text-2xl font-semibold text-white">サブ見出し</h2>
<p className="text-lg text-muted">本文(プロジェクトトークン使用)</p>
<span className="text-sm text-subtle">補足</span>
// Glass card 内での使用
<h3 className="text-white">タイトル</h3>
<p className="text-white/80">説明文</p>tsx
// 在纯色背景(如#0F0F1A)下使用
<h1 className="text-4xl font-bold text-white">标题</h1>
<h2 className="text-2xl font-semibold text-white">副标题</h2>
<p className="text-lg text-muted">正文(使用项目令牌)</p>
<span className="text-sm text-subtle">补充说明</span>
// 在玻璃卡片内使用
<h3 className="text-white">标题</h3>
<p className="text-white/80">说明文字</p>アイコン
图标
- 使用ライブラリ: Lucide Icons
- 禁止: 絵文字をアイコンとして使用しない
tsx
import { Music, Brain, Sparkles, Check, X } from 'lucide-react';- 使用库: Lucide Icons
- 禁止事项: 不要使用表情符号作为图标
tsx
import { Music, Brain, Sparkles, Check, X } from 'lucide-react';レスポンシブブレークポイント
响应式断点
css
/* Mobile first */
/* sm: 640px */
/* md: 768px */
/* lg: 1024px */
/* xl: 1280px */
/* 2xl: 1536px */検証すべき画面幅:
- 320px (最小モバイル)
- 768px (タブレット)
- 1024px (デスクトップ)
- 1440px (大画面)
css
/* 移动端优先 */
/* sm: 640px */
/* md: 768px */
/* lg: 1024px */
/* xl: 1280px */
/* 2xl: 1536px */需要验证的屏幕宽度:
- 320px (最小移动端)
- 768px (平板)
- 1024px (桌面端)
- 1440px (大尺寸屏幕)
Pre-Delivery Checklist
交付前检查表
- Lighthouse アクセシビリティ 100%(最重要)
- プロジェクトの globals.css トークンを使用
- Glass card 内テキストは text-white/80 以上
- バッジのコントラスト確認
- 絵文字アイコン不使用(Lucide使用)
- ダークモード対応
- グラスモーフィズム適用
- cursor-pointer on clickables
- レスポンシブ対応
- パフォーマンス最適化(画像、アニメーション)
- Lighthouse可访问性得分100%(最重要)
- 使用了项目的globals.css令牌
- 玻璃卡片内的文本使用了text-white/80及以上样式
- 已确认徽章的对比度
- 未使用表情符号作为图标(使用Lucide Icons)
- 支持深色模式
- 应用了玻璃拟态设计
- 可点击元素添加了cursor-pointer
- 支持响应式设计
- 已优化性能(图片、动画)
コントラスト確認方法
对比度检查方法
実装後は必ず Lighthouse でアクセシビリティを確認:
bash
undefined实现完成后,务必使用Lighthouse检查可访问性:
bash
undefinedローカル確認
本地检查
npm run dev
lighthouse http://localhost:3000 --only-categories=accessibility --view
npm run dev
lighthouse http://localhost:3000 --only-categories=accessibility --view
詳細な失敗項目の確認
查看详细失败项
lighthouse http://localhost:3000 --only-categories=accessibility --output=json | jq '.audits["color-contrast"]'
**目標: Lighthouse Accessibility Score 100%**lighthouse http://localhost:3000 --only-categories=accessibility --output=json | jq '.audits["color-contrast"]'
**目标: Lighthouse可访问性得分100%**