入門
適合個人專案。
設計系統 · v0.1
φ 與費氏數列決定比例,8pt 網格決定落點,OKLCH 決定明度,@layer 決定誰說了算。從淺色主題一路守到作業系統強制色彩。
一 · 架構與級聯
入口只宣告一次 @layer reset, tokens, base, layout, components, utilities;。後層永遠覆寫前層,全庫零 !important,由 npm run lint 強制執行。
.hidden 擊敗 .btn[data-variant]下方按鈕的選擇器權重是 (0,2,0);工具類 .hidden 只有 (0,1,0)。但 utilities 層在 components 之後,所以單一 class 就能隱藏它——不需要 !important。
class="btn"
--brand-700--color-action--btn-bg二 · 空間與排版節奏
F(n+1)/F(n) 收斂於 φ,每一階再錨定到 4px / 8px。開啟上方「基準線網格」即可檢查每行是否落在網格上。
四 · 無障礙與色覺防禦
每個狀態同時以色相、幾何形狀與文字傳遞。用上方的色覺模擬切換,辨識度不應下降。
成功:部署完成
翡翠綠(165°)搭配圓形打勾,紅綠色盲下仍能與錯誤區分。
警告:配額即將用盡
淺色底使用深琥珀赭石(對比 > 7:1),深色底回到暖黃。
錯誤:付款失敗
偏紫的緋紅色(12°)搭配八角叉號,不會退化成泥灰色。
提示:新版本可用
圓角方形 + i,形狀與成功的圓形互不重疊。
我們只用來寄送收據。
格式不完整,缺少網域名稱。
資料視覺化
改良型 Okabe-Ito 六色,相鄰序列 ΔL ≥ 0.12。每條序列另有獨立線型、節點形狀與填充紋理,並就近直接標示——黑白列印也讀得懂。
五 · 版面層
@layer reset, tokens, base, layout, components, utilities;。每個原語只回應自己的容器寬度,不看視窗。拖曳虛線框右下角,觀察換行行為。
.sidebar 側欄固定 15rem,主欄低於 61.8% 就換行.switcher 門檻 40rem:整排橫排或整排直排,不會出現 2 + 1.grid + .card[data-subgrid] 標題、內文、按鈕列跨卡片對齊適合個人專案。
共享設計 Token、版本紀錄與審閱流程,最多二十位成員同時編輯。
SSO、稽核日誌與專屬支援。
.reel 每項 61.8%,下一項露出 38.2% 暗示可捲動(可用鍵盤聚焦後以方向鍵捲動).bento-golden 黃金矩形費氏切分;容器窄於 36rem 時退回單欄.cover 頁首頁尾貼齊兩端,.cover__principal 垂直置中(此處 --cover-min: 20rem).app-shell 頁面骨架,依視窗寬度切換(此處 --shell-min: 24rem);有 aside 且視窗 ≥ 80rem 時變三欄六 · 組件
對話框、選單、摺疊都用瀏覽器原生元素,所以鍵盤、焦點與強制色彩不用自己重寫。組件不使用 .is-active 這類狀態 class,樣式直接讀 aria-current、aria-selected、:checked,由 lint 強制。
用 ← → 切換分頁,Home / End 跳到頭尾。選中的分頁以 3px 底線標示,是形狀而不只是顏色。
活動紀錄面板。
設定面板。
.sidebar 組合)對話框與選單都在瀏覽器的頂層(top layer),不需要 z-index;焦點鎖定、Esc 關閉、焦點歸還都是原生行為。
<details> 已提供鍵盤、狀態朗讀與頁內搜尋自動展開。name 的 details 會互斥,瀏覽器原生支援。interpolate-size 的瀏覽器會平滑展開,其餘直接切換。按 Ctrl + K 開啟搜尋,關鍵字會以 螢光標記 顯示。
形式追隨功能,而比例追隨 φ。