Communitygithub.com

frogg435/frontend-design-styles

前端界面设计风格的实现与还原助手,涵蓋 Xiaomi MIUIX/HyperOS、Apple HIG、Google Material Design 3、Microsoft Fluent 2 四套設計語言。

frontend-design-styles 是什麼?

這個技能專精於將四種主流設計語言(MIUIX/HyperOS、Apple HIG、Material Design 3、Fluent 2)忠實地以語意令牌、組件形態和動效曲線三層架構呈現在前端程式碼中。它適用於產生或改造指定風格的 UI、執行風格選型與對比、生成設計令牌與主題檔案、以及進行視覺審查。支援多種平台與框架輸出,包括單檔 HTML、React、Vue、Tailwind 與 Compose/Kotlin。核心工作流程為先確定風格、再完整讀取對應參考文檔的令牌與組件規格、以 CSS 變量建立明暗雙主題、最後加入動效與無障礙設定並通過自檢。技能內建嚴格的硬規則,例如不混合風格、令牌先行、明暗雙主題必須同時處理、中文排版需單獨回退字體與調整字距,並提供自動化校驗腳本確保輸出品質。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add frogg435/frontend-design-styles

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Frontend Design Styles

把四種主流設計語言忠實地落到前端程式碼裡。核心不是「看起來差不多」,而是用語意令牌 + 組件形態 + 動效曲線三層一致地還原,讓成品能被該平台用戶認出「這就是 iOS / 這就是 Material / 這就是 Windows」。

何時用 / 不用

用:用指定設計風格生成或改造介面;四種風格選型對比;產出設計令牌與主題檔案;按設計語言做視覺審查。

不用:用戶沒有風格傾向、只想快速要個「好看的頁面」 → 先問一句要不要指定風格,或走 references/style-router.md 的推薦邏輯;純後端/演算法任務與本技能無關。

四種風格指紋速查

這是最高辨識度的幾個特徵。做任何實現前先確認這張表,細節再查對應 reference。

| | MIUIX / HyperOS | Apple HIG | Material Design 3 | Fluent 2 | |---|---|---|---| | 主色 | #3482FF(亮)/ #277AF7(暗) | #007AFF / #0A84FF | 角色化,基線 #6750A4 | #0F6CBD | | 字體 | MiSans | SF Pro(<20pt Text,≥20pt Display) | Roboto / Roboto Flex | Segoe UI Variable | | 正文基準 | 16–17px | 17pt | 16sp(body-large) | 14px(body-1) | | 圓角語言 | 16dp 統一圓角 + squircle(與 iOS 同源,按鈕非膠囊) | 連續曲率圓角(squircle),容器 10–20pt | 12dp 卡片 / 28dp FAB & 彈窗 / 全圓按鈕 | 小圓角,控件 4px、彈窗 8px,嵌套 −2px | | 層次手法 | 色階分層(#FFFFFF / #F7F7F7 / #E8E8E8),幾乎不用重陰影 | 材質模糊(translucency)+ 分組列表 + 內容壓過 UI | 色調疊加(tonal overlay)優先,陰影次之 | 材質(Mica / Acrylic)+ 低調多層陰影 | | 動效 | 輕快、帶彈性回彈,200–300ms | 彈簧物理,200–300ms,無 linear | 強調曲線 cubic-bezier(0.2,0,0,1),按時長令牌分級 | 快而克制,150–250ms,easyEase | | 觸控/點擊目標 | ≥ 48dp | ≥ 44×44pt | ≥ 48dp | 控件高 32px(緊湊/舒適模式) | | 一句話氣質 | 圓潤、通透、藍色科技感 | 克制、留白、內容優先 | 色彩表達力強、層次靠色調 | 生產力、清晰、桌面原生 |

工作流

Step 1 · 定風格。 用戶已指定 → 直接用。未指定 → 讀 references/style-router.md,按產品型態/平台/密度給出 1 個推薦 + 1 個備選,讓用戶確認。

Step 2 · 讀令牌。 打開對應參考文件,把顏色、字階、間距、圓角、陰影、動效全部讀一遍再動手,不要憑印象寫:

  • MIUIX / HyperOS → references/miuix-hyperos.md
  • Apple HIG → references/apple-hig.md
  • Material Design 3 → references/material-design-3.md
  • Fluent 2 → references/fluent-2.md

Step 3 · 落令牌。 直接複製 assets/tokens/<style>.css 作為語意令牌層(已含明/暗雙主題),不要把 hex 寫進組件樣式裡。深色模式透過 [data-theme="dark"] 或 prefers-color-scheme 切換。

Step 4 · 搭組件。 按 references/components-playbook.md 裡該風格的組件規格實現(按鈕變體、輸入框、卡片、導航、彈層、開關、列表)。每個互動態(hover / focus / pressed / selected / disabled)都要有,不能只做預設態。

Step 5 · 加動效 + 自檢。 按 references/motion-and-accessibility.md 補齊過渡,然後跑 python3 scripts/lint_tokens.py <產物> --style <風格>,再逐條過自檢清單(見下)。

鐵律

  1. 不混風格。 選了 Fluent 就別出現 iOS 的 #007AFF、Material 的 pill FAB 或 HyperOS 的大圓角卡片。混合是最常見的失敗模式。
  2. 令牌先行。 組件 CSS 裡只允許出現 var(--xxx),不允許出現字面量顏色/字號/圓角值。
  3. 明暗雙主題一起做。 四套體系都有官方暗色值,直接查表,不要用 filter: invert 或手動調暗糊弄。
  4. 平台約定不可改。 例如 iOS 的最小點擊區 44pt、Material 的 state layer 不透明度、Fluent 的控件 1px 底邊描邊、HyperOS 的深色背景 #242424(不是純黑 surface)。
  5. 無障礙是硬指標。 正文對比度 ≥ 4.5:1,UI 元素 ≥ 3:1,焦點環必須可見,尊重 prefers-reduced-motion。
  6. 中文排版要單獨處理。 Roboto / Segoe UI / SF Pro 都沒有完整中文字形,中文介面必須退回蘋方 / 思源黑體 / MiSans 等中文字體,並下調 letter-spacing(拉丁字距不適用於中文)。

交付規範

  • 預設產出單檔案可執行的 HTML(內聯 <style> + <script>),令牌以 :root CSS 變數組織,方便用戶直接預覽和複製。
  • 用戶指定框架時再切換,映射規則見 references/framework-mappings.md:Tailwind 用 assets/mappings/tailwind.css;React/Vue 用令牌物件 + CSS 變數;Compose 優先使用官方庫(MIUIX 用 MiuixTheme,M3 用 MaterialTheme)。
  • 組件展示頁可參考 assets/templates/showcase.html(同一套組件在四種風格下的並列呈現,可切換主題與明暗)。
  • 產出後必跑驗證:python3 scripts/lint_tokens.py <產物檔案> --style <風格>,三項檢查(硬編碼色值 / 對比度 / 核心令牌)不通過就修,再交付。
  • 交付時說明:用了哪套體系、有哪些刻意偏離、暗色模式如何切換、字體回退棧是什麼。

自檢清單

做完逐條核對,不通過就修:

  • 顏色全部來自令牌,無硬編碼 hex
  • 字階層級不超過 4 檔,正文基準字號符合該體系
  • 圓角體系自洽(含嵌套圓角 = 外層 − 內邊距)
  • 陰影/材質用法符合該體系(Material 用色調疊加,Fluent 用 Mica/Acrylic,iOS 用模糊材質,HyperOS 用色階)
  • 所有互動態齊備:hover / focus-visible / active / disabled / selected
  • 明暗雙主題都驗證過
  • 點擊目標尺寸達標
  • 對比度達標,焦點環可見
  • prefers-reduced-motion 下動效降級
  • 中文字體回退正確、字距已調整
  • 無其他體系串味

參考檔案

檔案內容
references/style-router.md四風格選型決策樹、對比矩陣、混搭禁區
references/miuix-hyperos.mdMIUIX 令牌全表 + HyperOS 視覺特徵 + 組件規格
references/apple-hig.md系統色全表 + Dynamic Type 12 級 + 材質 + 組件規格
references/material-design-3.md29 個顏色角色明暗全表 + 15 級字階 + 形狀/海拔/狀態層
references/fluent-2.md中性色/品牌色階 + Type Ramp + 控件尺寸 + Mica/Acrylic + 陰影令牌
references/components-playbook.md按鈕/輸入/卡片/導航/彈層/開關/列表 的逐風格實現規格
references/motion-and-accessibility.md四體系動效曲線與時長、無障礙硬性要求、審查清單
references/framework-mappings.mdTailwind / React / Vue / Compose / SwiftUI 的令牌映射規則
scripts/lint_tokens.py可執行驗證:硬編碼色值、對比度、核心令牌齊全性
assets/mappings/tailwind.cssTailwind v4 @theme 令牌映射,四套體系可同頁共存

相關技能