CSS辞書

clamp()

レスポンシブ・関数

最小値、推奨値、最大値を指定してレスポンシブな値を設定する関数です。clamp(最小, 推奨, 最大)の形式で、ビューポートに応じて値が自動調整されます。フルードタイポグラフィやスペーシングの実装に最適です。

構文

Syntax
clamp(<min>, <preferred>, <max>)

コード例

1

font-size: clamp(1rem, 4vw, 3rem);
実行結果
font-size: clamp(1rem, 4vw, 3rem) - レスポンシブフォント
レスポンシブなタイトル
💡 最小1rem、最大3rem。画面幅に応じて4vwで自動調整

1remから3remの間でビューポート幅に応じて調整

2

width: clamp(300px, 50%, 800px);
実行結果
width: clamp(300px, 50%, 800px) - レスポンシブ幅
幅が自動調整されるコンテナ
💡 最小200px、最大400px。親要素の50%で調整

300pxから800pxの間で50%の幅を維持

3

padding: clamp(1rem, 5vw, 4rem);
実行結果
padding: clamp(1rem, 5vw, 4rem) - レスポンシブ余白
余白が画面サイズに応じて調整
💡 メディアクエリ不要でレスポンシブな余白を実現

レスポンシブなパディング設定

💡 TIPS

メディアクエリを減らせる。calc()と組み合わせるとさらに柔軟。

🤖 AIがよく間違えるポイント

AIの生成するclamp()は中央値がvwのみ(例: clamp(1rem, 2vw, 2rem))になりがちで、これはブラウザのズームや文字サイズ設定に追従しにくいアクセシビリティ上の問題があります。中央値はrem+vwの混合(例: clamp(1rem, 0.8rem + 1vw, 2rem))が推奨です。最小値と最大値を逆に書く単純ミスもAIにはよくあります。

💬 AIへの頼み方

見出しのフルードタイポグラフィをclamp()で設計して。ズームに追従するようrem+vwの混合で

このclamp()の中央値がvw単体になっている問題をアクセシビリティ観点で修正して

そのままAIチャットに貼り付けて使える依頼文の例です。ページ上部の「AI用にコピー」でこのページ全体をコンテキストとして渡せます。

関連プロパティ

このプロパティを使ったUIレシピ

ブラウザサポート

Baseline 広く利用可能
Chrome
79+
Firefox
75+
Safari
13.1+
Edge
79+