未分類

【初心者向け】CSSの数学関数を基礎から応用まで徹底解説!

katayamawp

CSSにも「数学的な計算式」が使えるのをご存じですか?
例えば、「画面サイズに応じて幅を調整する」「最小値・最大値を指定する」「フォントサイズを自動で拡大縮小する」など、柔軟なデザインが可能になります。
このページでは、代表的なCSS数学関数を、初心者向けに見本と一緒にわかりやすく解説します。


1. calc():計算する

calc()は、異なる単位同士の計算ができる関数です。たとえば、「100%から30px引く」などが可能です。
使い方は以下のようにとてもシンプルです。

width: calc(100% - 30px);

実例:

← このボックスは画面幅から30px引いた幅で表示されています。

注意:+- の前後にはスペースが必要です。
×や÷も使えますが、演算順序に注意してください。


2. min()max():最小・最大をとる

min(): 最小値を使う

複数の値の中から「一番小さい値」を自動で選んでくれる関数です。

width: min(90%, 500px);

→ 画面が大きければ500px、小さければ90%になります。

このボックスの幅は min(90%, 500px) です。

max(): 最大値を使う

max()は、逆に「一番大きい値」を選びます。

width: max(300px, 50%);

→ 小さい画面でも必ず最低300pxを保ちます。

このボックスの幅は max(300px, 50%) です。

3. clamp():幅やフォントサイズをスマートに調整

clamp(最小値, 理想値, 最大値) という形で使います。
例えば、フォントサイズを「最小16px、理想2vw、最大24px」で調整する場合:

font-size: clamp(16px, 2vw, 24px);
このテキストは画面幅に応じて自動で文字サイズが変化します。

メリット:メディアクエリなしでレスポンシブデザインが実現できます。


4. 関数の組み合わせ(ネスト)

CSSの数学関数は、calc()の中にmin()max()を入れるなど、組み合わせて使うこともできます。

width: calc(min(100%, 600px) - 20px);
calc + min の組み合わせ例

用途:「最大600pxまでは幅を可変に、それ以上なら固定」などが可能です。


5. 対応ブラウザと注意点

  • calc()は全ブラウザで幅広く対応(IE11以降)
  • min(), max(), clamp() は、ほぼすべてのモダンブラウザで対応
  • 古いブラウザ(例:IE11)では min()clamp() が効かないため注意
  • 計算式にスペースを入れるのを忘れないように(例:calc(100% - 30px)

6. まとめ

CSS数学関数は、レスポンシブなWebデザインを実現する上で非常に便利なツールです。
覚えると、次のようなことができるようになります:

  • 異なる単位を柔軟に計算する
  • 画面幅に応じて自動調整されるボックス
  • フォントサイズの動的調整
  • 複数条件を組み合わせた最適なレイアウト

難しそうに見えても、基本を押さえればとても便利です。ぜひ、今回のコードをコピペして試してみてください!

記事URLをコピーしました