找出共同規則
把所有按鈕都需要的尺寸、圓角和字重集中到基底。
CHAPTER 09 · 180 MINUTES
把散落的按鈕與卡片規則收成共同基底,再用最小變體表達主要和次要用途。
LEARNING GOALS
把所有按鈕都需要的尺寸、圓角和字重集中到基底。
主要與次要按鈕只保留造成層級差異的規則。
服務與作品內容不同,仍共享邊框和留白。
輸入:第 08 章產物:完成卡片標籤與固定返回按鈕
本章輸出:完成可重複套用的按鈕與卡片樣式組
產物類型:mainline;後續用途:第 10 章
PROBLEM & ANALOGY
樂高積木有共同接點,再用顏色與形狀組合用途;基底 class 是共同底座,modifier 是接在底座上的用途變體。
本章要解決:同類按鈕高度、圓角與字重不一致,改一個共通值卻要修改很多份重複 CSS。
接住上一章:卡片與返回按鈕的位置已完成,這次只整理其外觀規則,不改定位。
SCOPE
基底 class、變體 class、共同責任與樣式重用。
元件是可重複的結構與樣式約定,不等於使用框架。
hover、transition 留到第 10 章;本章不建立完整 Design System。
CORE IDEAS
.button 放所有按鈕穩定共享的責任,變體只補用途差異。
DEBUG
課堂刻意錯誤:讓第二顆按鈕漏掉基底 class,再讓兩個變體各重複一份 padding,觀察顏色正確但尺寸不一致。
先查:先查 HTML 是否同時帶 .button 與正確變體 class。
先查:檢查變體是否重複基底 padding,而不是只覆蓋顏色。
先查:搜尋重複規則,確認作品與服務卡片使用共同 class。
PRACTICE CONTRACT
檔案:style.css
位置:.button
結果:所有按鈕具有一致尺寸、圓角與字重
檔案:style.css
位置:.button--primary、.button--secondary
結果:兩種按鈕有清楚的行動層級
檔案:style.css
位置:.component-card
結果:作品與服務卡片共用一致邊框及留白
EVIDENCE
共同責任放在 ______;用途差異放在 ______;我改動 ______ 後,所有 ______ 都同步變化。
元件重用先靠清楚的 class 約定,不需要安裝框架或建立完整 Design System。
截圖兩種按鈕與兩類卡片,再只改一次基底圓角,證明所有使用者同步更新。
下一章:在這組元件上加入 hover、focus、transition 與減少動態偏好。