このツールは、ブラウザの幅(Viewport Width)に応じてフォントサイズを動的に変化させるための「傾き- slope」と「切片 – intercept」を clamp() 関数により算出し、流動的なタイポグラフィ(Fluid Typography)を実現する。
font-size min
: px
font-size max
: px
viewport min
: px
viewport max
: px
font-size: clamp(min px, mid (px + vw), max px)
例 最小FS: 48px/最大FS: 68px/画面幅小: 375px/画面幅大: 1366px
=> font-size: clamp(48px, 40.43px + 2.02vw, 68px)
clamp 関数
値を最大、最小と、その中間に制御し、それぞれ最小値、推奨値、最大値の3つの引数を設定。
clamp(最小値 px, 中間値 vw, 最大値 px)
clamp(MIN, VAL, MAX)
font-size: clamp(48px, 40.43px + 2.02vw, 68px)
$$slope = \frac{f_{max} – f_{min}}{v_{max} – v_{min}}$$$$intercept = f_{min} – slope \times v_{min}$$

y = ax + b
※ 推奨値、中間値(最小フォントサイズ画面幅~最大フォントサイズ画面幅の中間帯画面幅のフォントサイズを求める)
a (傾き) = (y の増加量) ÷ ( x の増加量)
= (font-size MAX - font-size MIN) ÷ (view port MAX - view port MIN)
b (切片) = y - ax
= font-size MIN - a × view port MIN
y (フォントサイズ) = ax + b
= a × 100vw + b