"매 viewport 의 변화 에 매 부드럽게 scaling 하는 typography — 매 breakpoint 의 jump 의 없음, 매 clamp(min, preferred, max) 의 사용". 매 2017 Mike Riethmuller 의 "fluid typography" 제안 → 매 2020 clamp() baseline → 매 2026 매 cqw (container query unit) + variable font 의 결합 의 새로운 frontier.
매 핵심
매 핵심 함수 — clamp()
clamp(MIN, PREFERRED, MAX) — 매 PREFERRED 의 MIN ≤ x ≤ MAX 의 clamp.
매 PREFERRED 의 매 viewport-relative unit (vw, cqw).
매 mobile 의 너무 작 X, 매 desktop 의 너무 크 X.
매 viewport units (2026)
vw / vh — viewport width / height.
svw / svh — small (mobile URL bar 의 visible).
lvw / lvh — large (URL bar 의 hidden).
dvw / dvh — dynamic (매 변동).
cqw / cqh — container query (component-scoped).
매 Variable Font
매 single font file, 매 weight/width/italic 의 axis 의 interpolation.
font-variation-settings: "wght" 450, "wdth" 90.
매 file size 의 절약 (매 9 weight × 2 italic 의 18 file → 1 file).
/* 매 320px → 1240px 의 16px → 20px scale */:root{--fluid-min:16;--fluid-max:20;--vw-min:320;--vw-max:1240;--slope:calc((var(--fluid-max)-var(--fluid-min))/(var(--vw-max)-var(--vw-min)));--intercept:calc(var(--fluid-min)-var(--vw-min)*var(--slope));--fluid:clamp(var(--fluid-min)*1px,var(--intercept)*1px+100vw*var(--slope),var(--fluid-max)*1px);}body{font-size:var(--fluid);}
Pattern 3: Container query units (2026)
.card{container-type:inline-size;}.cardh2{/* 매 parent container 의 width 의 fluid */font-size:clamp(1.2rem,1rem+2cqw,2rem);}
Pattern 4: Variable Font weight axis
@font-face{font-family:'Inter';src:url('/fonts/Inter-Variable.woff2')format('woff2-variations');font-weight:100900;font-style:normal;}h1{font-family:'Inter';font-variation-settings:"wght"800,"wdth"105;/* 매 viewport 의 변화 의 weight 의 fluid */font-weight:clamp(700,700+1vw,900);}
:root{--font-weight-body:400;}@media(prefers-color-scheme:dark){:root{--font-weight-body:350;/* 매 dark mode 의 lighter weight */}}body{font-variation-settings:"wght"var(--font-weight-body);}
Pattern 8: Optical Sizing (variable font axis)
h1{font-size:clamp(2rem,4vw,4rem);/* 매 large size 의 자동 의 optical size 의 적용 */font-optical-sizing:auto;}
매 결정 기준
상황
Approach
Body text
clamp() with viewport units
Heading
Modular scale 의 step
Component-scoped
cqw units
Multi-axis font
Variable font + font-variation-settings
Generated scale
Utopia.fyi or build script
Dark mode
weight axis 의 reduce
Print
static pt units
기본값: clamp(min-rem, base + slope*vw, max-rem) 의 modular scale (1.25 ratio), variable font 의 사용.