Communitygithub.com

coastdigitalgroup/coastai-skills

設計並實現一個使用 CSS clamp() 的流暢間距系統,以確保所有裝置上的一致留白與垂直韻律。在需要定義間距系統、邊距、內距或佈局間隙時觸發此技能。

coastai-skills 是什麼?

此「流暢間距系統」技能提供了一套方法,用於建立能隨使用者視埠大小流暢調整的響應式留白比例尺(包含邊距、內距與間隙)。它利用 CSS 的 `clamp()` 函數,讓間距在定義的最小與最大值之間線性縮放,無需過多的媒體查詢即可維持視覺和諧與一致的比例。此技能適用於建立全新設計系統的基礎間距、優化現有網站在不同裝置上的視覺一致性,或取代固定像素的間距方案。支援所有現代瀏覽器,但需注意不適用於簡單無響應要求的頁面、嚴格固定像素的版面或需要支援 IE 等舊版瀏覽器的情況。技能工作流程包含定義視埠範圍與基礎單位、選擇比例尺(線性/乘法或幾何級數)、使用公式 `clamp(min_rem, intercept_rem + slope_vw, max_rem)` 生成 CSS 變數,並將抽象數值對應到語意角色(如 `--space-m`、`--space-xl`)。同時提供決策規則(如 8pt 網格原則、鄰近原則、容器相對間距使用 `cqi`)、常見失敗模式(如過度縮放小間距、忽略佈局溝槽)及驗證標準(如平滑縮放、保持垂直韻律、互動元素在最小尺度的點擊區域不小於 24x24px)。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/coastdigitalgroup/coastai-skills/tree/HEAD/website-design/fluid-spacing-system

在你喜歡的 AI 中提問

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

說明文件

流暢間距系統

目的

流暢間距系統技能提供一套方法,用於建立能根據使用者視埠大小流暢調整的響應式留白比例尺(邊距、內距、間隙)。透過使用 CSS 的 clamp() 函數,間距會在定義的最小與最大值之間線性縮放,在無需大量媒體查詢的情況下,維持視覺和諧與一致的比例。

使用案例

  • 為新的設計系統建立基礎的間距比例尺。
  • 現代化網站,以改善在行動裝置、平板與桌機上的視覺一致性。
  • 設計高品質佈局,讓留白在大螢幕上能呼吸,但在小螢幕上保持緊湊。
  • 用更具彈性、可感知實作的系統取代固定的像素間距。

何時不應使用

  • 簡單、非響應式頁面: 若佈局極度基礎或無響應式需求。
  • 嚴格固定佈局: 當設計規格要求在每個解析度都使用精確、不可妥協的像素值時。
  • 舊版瀏覽器支援: 如果目標用戶主要使用不支援 CSS clamp() 的瀏覽器(例如 Internet Explorer)。

輸入

要產生流暢間距系統,你需要:

  1. 視埠範圍:
    • min-width:縮放開始的螢幕寬度(例如 320px)。
    • max-width:縮放停止的螢幕寬度(例如 1280px)。
  2. 基礎間距單位:
    • min-size:在 min-width 時的基礎單位(例如 16px)。
    • max-size:在 max-width 時的基礎單位(例如 20px)。
  3. 比例乘數:
    • 用於決定比例尺中各階層的乘數(例如 1.25 為大三度比例,或線性 2x/3x/4x 增長)。

輸出

  1. 流暢間距比例尺: 一組使用 clamp() 定義從「極小」到「極大」值的 CSS 變數。
  2. 語意映射: 如何將這些代碼(token)應用的指南(例如 --space-m 用於元件內距、--space-xl 用於區塊邊距)。
  3. 使用文件: 結合單位以維持垂直韻律與水平對齊的規則。

工作流程

1. 定義比例尺參數

根據專案的目標裝置設定流暢系統的邊界。 範例: 320px(行動裝置)至 1440px(桌機),基礎單位從 16px 縮放到 24px。

2. 選擇間距比率

決定間距階層應如何增長。

  • 線性/乘法: 階層是基礎單位的倍數(例如 0.5x、1x、1.5x、2x、4x、8x)。最適合可預測的對齊。
  • 幾何級數: 每個階層是前一個階層乘以一個比率(例如 1.25)。最適合高對比度、藝術風格的佈局。

3. 計算比例階層

建立一系列尺寸。典型的比例尺包含:

  • 3XS 至 XS: 用於微小細節、緊湊清單與按鈕內部內距。
  • S 至 M: 用於標準元件間距與溝槽。
  • L 至 3XL: 用於區塊邊距、主視覺區間距與主要佈局間隙。

4. 生成 CSS clamp() 公式

將像素值轉換為流暢公式。 clamp(min_rem, intercept_rem + slope_vw, max_rem)

斜率計算: (max_px - min_px) / (max_viewport - min_viewport) * 100

5. 分配語意角色

將抽象的比例尺對應到功能性角色,以確保團隊間的一致性。

  • space-component:--space-s
  • space-layout-gutter:--space-m
  • space-section:--space-xl

決策規則

  • 8pt 網格原則: 只要可能,確保你的最小/最大值是 4 或 8 的倍數,以符合標準 UI 模式。
  • 鄰近原則: 相關的元素之間的間距應少於不相關的元素。
  • 行動裝置壓縮: 保持較小的間距單位(3XS-S)相對穩定;只有較大的單位(L-3XL)才應積極縮放,以防止行動裝置佈局感覺「爆炸」。
  • 無障礙性: 確保即使是在最小比例尺上,互動元素仍維持足夠大的點擊區域(根據 WCAG 2.2 SC 2.5.8,含內距最小為 24x24px;主要動作建議為 44x44px)。
  • 容器相對間距: 對於應根據元件容器(而非視埠)反應的間距(例如,可位於狹窄側邊欄或寬主要欄位的卡片),請在 clamp() 公式中使用容器查詢長度單位(cqi/cqw)而非 vw。

限制條件

  • 響應式: 間距永遠不應導致水平溢出。
  • 一致性: 一旦定義了比例尺,就不要使用「一次性」的像素值。
  • 層級: 較大的間距應始終用於分隔較大的內容區塊(例如區塊),而較小的間距則用於內部元件細節。
  • 範圍: 此技能僅涵蓋間距值 — 它不會建立佈局網格(請使用 responsive-grid-system)、定義字型大小(請使用 fluid-typography-system)或管理 z-index/圖層。

常見失敗模式

  • 平均縮放所有項目: 過度縮小的小內距(如 4px)可能導致元件在桌機上看起來變形。
  • 忽略佈局溝槽: 使用流暢的元件間距但固定的網格溝槽,導致對齊「漂移」。
  • 過多的比例階層: 擁有 20 個以上的不同間距階層會使系統難以使用和維護。目標是 7-9 個階層。
  • 沒有邏輯階層: 使用隨意數值而非一致的比例尺或比率。

驗證標準

  • 當調整視埠大小時,間距平滑縮放。
  • 在所有主要斷點上維持垂直韻律。
  • 實作中未使用「一次性」的像素值;所有間距都使用已定義的變數。
  • 系統在 clamp() 函數的最小和最大邊界使用 rem 單位。
  • 間距選擇強化了鄰近性與層級。
  • 互動元素在流暢比例尺上每一點(包含最小視埠)都保有至少 24x24px 的點擊區域(WCAG 2.2 SC 2.5.8)。

Individual skills in this repo

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

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for progressive disclosure using accordions, ensuring structural integrity, visual affordances, and accessibility across different content densities and devices.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for long-form content, managing readability, vertical rhythm, and information density to ensure a superior reading experience.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for informational elements that communicate state (Badges) and categorization (Tags) with clarity and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for non-overlay notifications, managing global announcements and contextual inline alerts to communicate system states without interrupting the user's flow.

coastdigitalgroup/coastai-skills

Design and implement a systematic, asymmetrical bento-grid layout framework to organize diverse content types cohesively while maintaining strict visual hierarchy, logical focus order, and responsive flexibility.

coastdigitalgroup/coastai-skills

Design a responsive, mobile-first bottom navigation bar and persistent action dock system for mobile websites and web applications, establishing spatial anchors, tab bar anatomy, badge indicators, thumb-zone ergonomics, safe area inset handling, active/inactive state contrast, and desktop responsive adaptation rules.

coastdigitalgroup/coastai-skills

Design a mobile-first bottom sheet overlay system with configurable detents, drag affordances, safe area padding, responsive desktop modal/popover adaptation, and WCAG AA accessibility compliance.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for secondary navigation trails that provide orientation, context, and one-click access to parent levels in deep information architectures.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for buttons and interactive triggers, managing visual hierarchy, variant logic, and action grouping to ensure clear intent and accessible interaction.

coastdigitalgroup/coastai-skills

Design a systematic framework for date and time selection, managing calendar grids, range pickers, and scheduling interfaces to ensure precision and accessibility.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for modular content containers that maintain hierarchy, structural integrity, and action alignment across variable content and responsive viewports.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for horizontal discovery components, managing navigation affordances, scroll behavior, and accessibility to ensure effective content density without compromising usability.

coastdigitalgroup/coastai-skills

Design a systematic, highly accessible, and developer-friendly UI layout framework for code blocks, snippet showcases, multi-file code tabs, line-highlighting, diff views, and syntax token contrast in technical documentation and developer platforms.

coastdigitalgroup/coastai-skills

Design a systematic framework for global command menus (Cmd+K panels) that combines keyboard-driven navigation, command execution, and shortcut discovery into an accessible, responsive overlay.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for threaded conversations, managing nesting depths, action hierarchies, and community signaling to foster engagement and readability.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for side-by-side comparison interfaces, managing high attribute density and responsive complexity to support informed decision-making.

coastdigitalgroup/coastai-skills

Design and implement a systematic framework for user privacy, managing consent banners, preference centers, and persistent privacy controls to balance legal compliance with user trust.

coastdigitalgroup/coastai-skills

Design and implement a systematic, highly accessible, and responsive visual layout framework for conversational chat widgets, live chat boxes, and chatbot panels that ensures clear message scannability, native focus flow, and seamless mobile keyboard adaptation.

coastdigitalgroup/coastai-skills

Design a systematic, accessible, and high-conversion framework for custom select dropdowns and comboboxes, defining anatomy, states, search-filtering, and responsive mobile-adaptive patterns.

coastdigitalgroup/coastai-skills

Design and implement a systematic color palette that ensures WCAG 2.2 accessibility compliance. Trigger this skill when asked to define brand colors, create UI themes, or establish a visual system for a website.

相關技能