CSS clamp計算(流動タイポグラフィ)
最小・最大サイズを、2つの画面幅の間でなめらかに変わるCSSのclamp()の値に変換します。remとpxに対応し、サイズ表とWCAGのズーム確認付きです。
vwは画面幅の1%なので、0.8333vwは幅が100 px増えるごとに0.8333 pxずつ大きくなります。remの値はユーザーのブラウザーのフォントサイズに従いますが、vwの部分は従いません。
ブラウザーのズームはpxとremを拡大しますが、vwは拡大しません。最小サイズと最大サイズの幅が大きすぎると、文字が200%まで拡大されなくなることがあるのはそのためです。
| 画面幅(px) | サイズ(px) | サイズ(rem) |
|---|---|---|
| 320 | 16 | 1 |
| 375 | 16.46 | 1.0286 |
| 768 | 19.73 | 1.2333 |
| 1,024 | 21.87 | 1.3667 |
| 1,280 | 24 | 1.5 |
| 1,440 | 24 | 1.5 |
| 1,920 | 24 | 1.5 |
CSSの clamp(最小, 推奨, 最大) を使うと、サイズが画面幅に応じてなめらかに大きくなり、最小値と最大値で止まります。メディアクエリは不要です。難しいのは中央の値で、ある画面幅で最小サイズ、別の幅で最大サイズになるように、remとvwを混ぜる必要があります。この計算ツールは、4つの数値からその値を求め、代表的な画面幅でのサイズを表示し、vw単位に伴うWCAGの文字拡大の問題も確認します。
使い方
- 最小サイズと最大サイズを入力し、単位がpxかremかを選びます。
- 各サイズを適用する画面幅を入力します。
- 結果の単位(remを推奨、またはpx)とプロパティ名を選びます。
- CSSの1行をコピーします。「追加サイズ」に行を足すと、CSS変数のセットが得られます。
計算式
slope = (max − min) ÷ (vw₁ − vw₀) · intercept = min − slope × vw₀ · clamp(min, intercept + slope × 100vw, max)
サイズはまずpxに変換し(rem × ルートのサイズ)、切片は結果用に再びremへ戻します。2つの幅の間ではサイズは直線に沿って変化し、その外側ではclamp()が最小値または最大値を保ちます。
計算例
320 pxで16 pxから1280 pxで24 pxへ:傾き = 8 ÷ 960 = 0.008333なので、vwの部分は0.8333vwで、切片 = 16 − 0.008333 × 320 = 13.33 px = 0.8333rem です。結果は clamp(1rem, 0.8333rem + 0.8333vw, 1.5rem) です。タブレットの幅768 pxでは、13.33 + 6.4 = 19.73 pxになります。
よくある質問
clamp() にはremとpxのどちらを使うべきですか?
最小値、最大値、切片にはremを使うと、文字が読み手のブラウザーのフォントサイズ設定に従い続けます。その設定を無視するのはvwの部分だけです。
流動タイポグラフィはアクセシブルですか?
ブラウザーのズームがvwを拡大しないため、WCAG 1.4.4(テキストを200%まで拡大)を満たせないことがあります。よく引用される目安は、最大サイズを最小サイズの2.5倍以下にすることで、そうすればズームしたときも文字は2倍にできます。
余白にもclamp()を使えますか?
はい。padding、margin、gap、幅のどれもclamp()を受け付けます。余白スケールの各段階を「追加サイズ」に入れると、対応するCSS変数が得られます。
出典
最終更新:
この入力内容のページアドレス: https://kakao.mobile/ja/tools/css-clamp-generator/
このツールを引用する
kakaoCalc. (2026, November 8). CSS clamp計算(流動タイポグラフィ). https://kakao.mobile/ja/tools/css-clamp-generator/
“CSS clamp計算(流動タイポグラフィ).” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/css-clamp-generator/.