CSS 工作流程

CSS clamp() 流動字級:公式與無障礙檢查

流動字級在兩個視窗寬度間線性變化,並由 clamp() 限定上下界。公式可直接複製,實際頁面仍須測試。

內容更新: · 維護者與修正回報

先核對兩個端點

輸入較窄與較寬視窗各自對應的字級。斜率是字級差除以視窗寬度差;CSS 偏好值以 vw 斜率搭配截距,clamp() 則把結果限制在兩個字級之間。

工具也接受由窄到寬變小的字級:只排序 CSS 上下界,偏好值仍遵照指定方向。端點表使用未四捨五入的運算,CSS 係數保留六位小數;請在兩個寬度檢查實際渲染結果。

理解 rem 與預覽

設計數值以 px 輸入。選擇 rem 輸出時,工具以預期根字級(預設 16px)換算字級與截距。若目的網站的根字級不同,實際 px 結果也會不同;複製前請輸入該網站的根字級。

楔形色帶只示意字級的相對走勢;精確數值請看端點表。滑桿以數學方式模擬視窗寬度,不會調整瀏覽器、切換 container query、載入實際字體或重現目的網站的 CSS 層疊。請回到真正的元件測試。

測試文字縮放與重新排版

MDN 建議用 clamp() 控制文字時,採用相對單位的上限,且至少為下限的兩倍,以協助 200% 文字縮放。這是建議,不等同自動符合 WCAG;瀏覽器縮放也會改變有效視窗寬度,vw 與 rem 的反應不同。

請在實際頁面測試 200% 文字縮放與瀏覽器縮放,確認文字可讀、控制項可用、內容不重疊也不裁切。公式無法代替不同字體、斷點及使用者設定下的無障礙檢查。

/* 360px 視窗為 16px;1440px 視窗為 32px;預期根字級 16px */
font-size: clamp(1rem, calc(0.666667rem + 1.481481vw), 2rem);

資料可信度

資料來源