如何用 clamp() 建立流體排版?
clamp(最小值, 偏好值, 最大值) 把固定斷點改成連續縮放。計算器會依據兩個 Viewport 寬度求出線性函數:截距負責起始尺寸,vw 係數決定每增加一段畫面寬度時應成長多少。當結果低於最小值或高於最大值,瀏覽器會自動鎖定上下限。
設定方式
- 先決定小螢幕可接受的最小尺寸與寬螢幕的最大尺寸。
- 設定開始與停止縮放的 Viewport,常見範圍是 320px 到 1280px。
- 用滑桿檢視中間尺寸,再複製完整 CSS 宣告。
字體通常建議使用 rem 作上下限,讓使用者調整瀏覽器預設字級時仍能受益;版面間距若需精準對齊,也可使用 px。
常見問題
CSS clamp() 是什麼?
它接受最小、偏好與最大三個值,偏好值位於範圍內時採用偏好值,超出時自動限制。
為什麼偏好值是 calc() 與 vw 的組合?
固定截距加上 vw 比例可描述一條線,讓尺寸隨 Viewport 平滑成長。
px 和 rem 應該選哪一個?
字體優先考慮 rem;需要對像素精準控制的裝飾尺寸可選 px。本工具會依根字體大小換算。
可以用在 padding 或 gap 嗎?
可以。任何接受 CSS 長度值且瀏覽器支援 clamp() 的屬性都能套用。
為何最大 Viewport 必須大於最小 Viewport?
兩點需要不同的水平位置才能計算斜率;相同寬度會造成除以零,無法形成流體區間。