Webspe Tools

CSS clamp()ジェネレーター

画面幅に応じて滑らかに変化するCSSのclamp()を簡単に作成できる無料ジェネレーターです。
最小・最大の画面幅と値を入力するだけで、レスポンシブに変化するclamp()を自動計算します。
実際の画面幅で変化をプレビューしながら調整し、生成されたコードをそのままコピーできます。

スポンサーリンク

設定

出力単位
通常は16pxです。プロジェクトでhtml要素のfont-sizeを変更している場合は、その値を入力してください。
px

プレビュー

プレビュータイプ

プレビューの画面幅

詳細設定
375px
現在のfont-size: 16px (1rem)

プレビューのテキスト

生成コード

clamp(1rem, 0.6479rem + 1.5023vw, 2rem)

使用例

font-size: clamp(1rem, 0.6479rem + 1.5023vw, 2rem);

\ SNSでシェア /

スポンサーリンク

CSS clamp()ジェネレーターの使い方

1. ビューポート幅の範囲を入力する

「最小ビューポート幅」と「最大ビューポート幅」に、サイズを変化させる画面幅の範囲をpx単位で入力します。

たとえば最小を375px、最大を1440pxにすると、画面幅が375pxから1440pxまで変化する間に、指定したサイズが滑らかに変わります。

2. 最小幅時と最大幅時の値を入力する

「最小幅時の値」には最小ビューポート幅で適用したいサイズ、「最大幅時の値」には最大ビューポート幅で適用したいサイズを入力します。入力値の単位はpxです。

2つの値を同じにした場合は、clamp()ではなく固定値が生成されます。

3. 出力単位を選択する

「出力単位」からremまたはpxを選択します。

remを選択した場合は、「ルートフォントサイズ」にプロジェクトのhtml要素へ設定しているfont-sizeを入力します。通常は初期値の16pxを使用できます。

最小幅時・最大幅時の値は、指定したルートフォントサイズをもとにremへ換算されます。

4. プレビューで変化を確認する

「プレビュータイプ」でfont-sizeまたはwidthを選ぶと、生成した値を文字サイズまたは要素の横幅として確認できます。

「プレビューの画面幅」へ数値を入力するか、375390768102414401920のクイック選択ボタンを使用して、確認したい画面幅へ切り替えます。プレビュー右側のハンドルを左右にドラッグして調整することもできます。

プレビュー上部には、現在のfont-sizeまたはwidthpx (rem)の形式で表示されます。

「詳細設定」を開くと、font-sizeではプレビューするテキスト、widthではプレビュー要素の高さを変更できます。テキストエリアに入力した改行もプレビューへ反映されます。

5. 生成された値をコピーする

入力内容に合わせてclamp()の値が自動生成され、「使用例」には選択中のプレビュータイプをプロパティとして使ったCSSが表示されます。

「コピーする」ボタンで生成された値をコピーし、使用したいCSSプロパティへ貼り付けてください。

すべての設定を最初の状態に戻す場合は、「リセット」ボタンを使用します。

clamp()とは?

clamp()は、最小値・推奨値・最大値の3つを指定し、値を一定の範囲内に収めるCSS関数です。画面幅に応じて文字サイズや要素サイズを滑らかに変化させたい場合に利用できます。

clamp(最小値, 推奨値, 最大値)
  • 最小値:これ以上小さくしない値
  • 推奨値:画面幅などに応じて変化する値
  • 最大値:これ以上大きくしない値

たとえば、次の指定では文字サイズが1remから2remの範囲で変化します。

font-size: clamp(1rem, 0.6479rem + 1.5023vw, 2rem);

推奨値に含まれるvwはビューポート幅に応じて変化します。計算結果が最小値より小さい場合は最小値、最大値より大きい場合は最大値が適用されます。

このジェネレーターの初期設定では、ビューポート幅が375pxのときに16px1440pxのときに32pxとなる推奨値を自動計算しています。

clamp()を利用できるプロパティ

clamp()は、数値や長さを受け取るさまざまなCSSプロパティで利用できます。

  • font-size:画面幅に応じた文字サイズ
  • widthmax-width:要素やコンテンツの横幅
  • paddingmargingap:余白や要素間の間隔
  • topleftなど:配置位置

メディアクエリで段階的に値を切り替える方法と異なり、指定した範囲内で連続的に値を変化させられるのが特徴です。

FAQ

生成されたclamp()はどのCSSプロパティに使えますか?

font-sizewidthのほか、paddingmargingapなど、数値や長さを指定できる多くのプロパティで使用できます。
「使用例」は選択中のプレビュータイプに合わせて表示されますが、生成された値はほかの対応プロパティにも貼り付けられます。

最小ビューポート幅より画面が狭い場合はどうなりますか?

「最小幅時の値」が適用されます。反対に、最大ビューポート幅より画面が広い場合は「最大幅時の値」が適用されます。指定したビューポート幅の範囲内でのみ、値が滑らかに変化します。

最大幅時の値を最小幅時の値より小さくできますか?

はい。画面幅が広くなるほど値が小さくなるclamp()も生成できます。プレビューで変化の方向と適用結果を確認してから使用してください。

最小幅時の値と最大幅時の値を同じにするとどうなりますか?

画面幅の変更による影響がない、固定値となります。

ルートフォントサイズには何を入力すればよいですか?

プロジェクトのhtml要素に設定しているfont-sizeを入力してください。特に変更していない場合は、通常は初期値の16pxを使用できます。

「プレビュー」の設定内容は生成コードにも反映されますか?

いいえ。「プレビュー」の設定項目は、プレビュー表示の見え方を変更する設定のため、生成されるclamp()の値には影響しません。

負の値を入力するとプレビューが表示されないのはなぜですか?

font-sizewidthの視覚的なプレビューには負の値を適用できないためです。生成値そのものは、負の値を利用できるCSSプロパティへ使用できる場合があります。実際に適用するプロパティの仕様を確認してください。

clamp()を使えばメディアクエリは不要になりますか?

サイズや余白を滑らかに変化させる用途では、メディアクエリを減らせる場合があります。ただし、レイアウト構造の変更や表示・非表示の切り替えなど、特定の画面幅で明確に状態を変える処理にはメディアクエリが適しています。

親要素の幅に応じて値を変化させられますか?

このジェネレーターが出力する推奨値はvwを使用するため、ブラウザのビューポート幅を基準に変化します。親要素やコンテナの幅を基準にしたい場合は、コンテナクエリ単位などを使う別の計算が必要です。

関連ツール

dy>