ウィンドウサイズに合わせて文字サイズを可変させるCSS

ウインドウ幅の変更に追随してフォントサイズを自動で変更するCSSの書き方のパターンをご紹介します。

コードの解説

font-size: clamp(12px, calc(100vw * 18 / 375), 36px);

実装例

上記コードは最小値:12px、推奨値:18px、最大値:36pxで設定されています。

ウィンドウ幅375pxに合わせると18px、そこからウインドウを広げていくと徐々に大きなサイズに変化し、36pxに達するとそれ以上大きくなりません。

逆にウインドウを狭めると下限を12pxとしてフォントサイズが小さくなります。

コード上はpxで指定していますが、実際の単位はvwになります。ピクセル単位で直感的にサイズを設定できつつ、ブラウザのフォントサイズ変更も効くのが良いなと思っています。

おまけ

コードが長いので、推奨値の設定箇所をSassのfunction関数に置き換えてみました。

@function px-to-vw($pxSize, $bp:375px) {
  @return calc(100vw * $pxSize / $bp);
}

.text {
  font-size: clamp(12px, px-to-vw(18px), 36px);
}