Communitygithub.com

網頁工藝設計

先定產品向的視覺方向,再為 React 頁面和流程設計字體、色彩、狀態和動效,然後才寫介面。

網頁工藝設計 是什麼?

做新頁面、落地區塊或產品陳列時,先寫清給誰用、第一眼必須看到什麼、版式是編輯流、分欄還是陳列。設計代幣、空態和錯誤態、表單和減弱動效都跟著這個方向走。已有 DESIGN.md 就以它為準。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/hasaneks/web-craft/tree/HEAD/skills/web-craft-design

在你喜歡的 AI 中提問

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

說明文件

設計網頁或流程

請先閱讀 web-craft。既有的 DESIGN.md 或設計系統是最高權威:請遵循它們,不要為現有產品發明新的方向。

1. 程式碼之前的方向(新產品與大型新頁面)

簡短地決定並記錄下來:

決策項目答案
使用者與任務這個頁面要讓誰的工作更輕鬆?
優先級什麼東西必須最先被看到和操作?
組合編輯流程、分割佈局、密集工作區、產品展示,或其他
排版字體特徵、字級、行長、每種預計語言的腳本覆蓋
視覺素材真實產品圖片、攝影、插圖、圖表或字體主導
頁面與密度邊框、色調、空白、資料密度、頁面節奏
動畫功能性回饋,加上產品需要的敘事性動畫
標誌細節一兩個支援品牌的一致細節

參考資料:優先使用既有品牌,其次是使用者提供的內容。對於新的方向,挑選幾個合適的來源,並說明每個貢獻了什麼(密度、攝影、節奏、互動、字體)。像「現代」或「簡潔」這類形容詞並非決策。不要複製商標、文字或整個構圖。新產品的選項必須在構圖和優先級上有所不同,而不僅僅是顏色。詳細資訊:references/direction-and-references.md、references/composition.md、references/typography.md。

2. 設計代碼

顏色(語意色、淺色與深色)、字體大小、間距、圓角、高度與動畫作為代碼存放在同一處,並對應到主題套件的主題。高度被限制:首先使用邊框和頁面色調,少數單層低透明度的陰影代碼用於浮動圖層,在深色模式下用較亮的頁面代替陰影,且不使用動畫 box-shadow。詳細資訊:references/tokens-color-elevation.md。

3. 文案與層級

每個文字只做一件事。預設情況下,標題上方沒有眉毛文字(僅用於進度、日期、父物件或法律上下文;像「Premium」這類層級標籤應變成功能上的徽章)。副標題僅保留用於範圍、結果、風險或具體事實。標題層級應遵循結構,而非字體大小。佔位符不能取代標籤。按鈕應說明發生的動作。詳細資訊:references/copy-hierarchy.md。

4. 狀態

為每個資料區域和表單建立狀態矩陣:初始載入(佈局匹配的骨架,延遲顯示以避免閃爍,在減少動畫模式下靜態顯示)、空狀態(首次使用 vs 無結果)、含重試功能的錯誤狀態(並保留已輸入的資料)、重新整理、分頁錯誤、提交中、成功、禁止、找不到、離線。詳細資訊:references/states.md。

5. 表單

在失焦時驗證,一旦顯示錯誤便在有變更時重新驗證,非同步檢查需防抖。提交時若發生錯誤:聚焦第一個無效欄位,將其滾動到任何固定標題下方,展開包含該欄位的摺疊區段或步驟,並在長表單上顯示錯誤摘要。錯誤訊息應說明問題所在及如何修正,並放置在欄位旁邊,且透過 aria-describedby 連結。提交按鈕僅在傳送期間停用。伺服器端欄位錯誤應以相同的滾動和聚焦方式顯示在其欄位上。詳細資訊:references/forms.md。

6. 動畫

在選擇函式庫之前,先填入動畫矩陣(references/motion-matrix.md):

  • 按鈕與連結:懸停(若有懸停效果)、按下、焦點可見、載入中、已停用。
  • 對話框、側邊欄、選單、彈出視窗、提示訊息:務必包含進入與離開動畫(透明度加上小幅縮放或位移,離開動畫需在移除元件前完成)、焦點鎖定與返回、關閉。詳細資訊:references/overlays.md。
  • 清單:新增、移除和重新排序的動畫應易於理解。
  • 圖表:首次檢視時有簡短的繪製動畫,資料變更時有過渡動畫,超過一定資料量時無動畫,減少動畫模式下無動畫;工具提示需可透過鍵盤操作,並提供表格替代方案。詳細資訊:references/charts.md。
  • 行銷敘事:有限、產品專屬、永不將內容隱藏在動畫之後。

持續時間、緩動函數與距離來自設計代碼。並非每個頁面都使用相同的淡入錯開效果。不要在表單或資料畫面上加入人為延遲。減少動畫模式應集中處理,並涵蓋 CSS、函式庫和影片。

7. 響應式

中斷點應跟隨內容。定義導覽、篩選器、表格、固定動作按鈕、對話框和彈出視窗在窄螢幕上的行為。測試 320px、長篇翻譯文字、200% 縮放、觸控與鍵盤操作。網頁對話框預設不應變成 React Native 底部選單。詳細資訊:references/responsive.md。

8. 檢查結果

在瀏覽器中以手機和桌面寬度、兩種主題、兩種語言、僅使用鍵盤操作以及開啟減少動畫模式的情況下來檢視它。靜態截圖無法檢視動畫;請與頁面互動。

當一個套件在不同產品之間重複使用時,請執行 references/pilot-divergence.md 中的差異化測試。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相關技能