ui-ux-pro-max

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

UI/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.css
で定義されたトークンを優先する。
tsx
// 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.css
中定义的设计令牌。
tsx
// 错误示例:直接使用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.css
,掌握已定义的令牌。

Glassmorphism とアクセシビリティの両立

玻璃拟态与可访问性的兼顾

警告: 半透明背景はコントラスト計算を複雑にする
背景タイプ問題対策
bg-white/5
実効背景色が不確定テキストは
text-white
or 十分明るい色を使用
bg-black/45
オーバーレイ
下層と混ざる重要テキストは
text-white
を使用
半透明セクション背景画像と混ざる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>
警告:半透明背景会使对比度计算复杂化
背景类型问题对策
bg-white/5
实际背景色不确定文本使用
text-white
或足够明亮的颜色
bg-black/45
遮罩
会与下层内容混合重要文本使用
text-white
半透明板块会与背景图像混合避免使用弱化文本,改用白色系文本
安全组合示例:
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中定义)

トークン用途英語 (デスクトップ)日本語 (デスクトップ)
.text-hero
ランディングページのメインタイトル96px80px
.text-section
セクション見出し(h2)48px40px
.text-headline
機能タイトル、製品見出し30px24px
.text-subhead
タグライン、リード文24px20px
令牌用途英语(桌面端)日语(桌面端)
.text-hero
着陆页主标题96px80px
.text-section
板块标题(h2)48px40px
.text-headline
功能标题、产品标题30px24px
.text-subhead
标语、引导文24px20px

使用方法

使用方法

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)

トークン用途
--radius-sm
8px小さいバッジ、タグ
--radius-md
12pxボタン、入力フィールド
--radius-lg
16pxカード、モーダル
--radius-full
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>
令牌数值用途
--radius-sm
8px小型徽章、标签
--radius-md
12px按钮、输入框
--radius-lg
16px卡片、模态框
--radius-full
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-white
または
text-white/80
以上を使用。
css
/* 符合可访问性的玻璃卡片 */
.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-white
text-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%**