Files
2nd/10_Wiki/Topics/Frontend_Mastery/가변 타이포그래피 (Fluid Typography).md
T
Antigravity Agent cfafbdbc36 feat: massive wikification of styling systems and SaaS architecture
Processed 100+ files including Design Systems, CSS Architectures, and Enterprise Frontend strategies.
2026-04-26 12:08:51 +09:00

3.8 KiB

가변 타이포그래피 (Fluid Typography)

📌 Brief 시 Summary

가변 타이포그래피(Fluid Typography)는 미디어 쿼리나 특정 중단점(breakpoint)에서 폰트 크기가 갑작스럽게 변하는 대신, 뷰포트 너비의 범위에 따라 폰트 크기가 부드럽고 일정하게 조정되도록 만드는 반응형 웹 디자인 기법입니다 [1, 2]. 고정된 폰트 크기가 모바일에서는 너무 작거나 데스크톱에서는 너무 커지는 문제를 해결하기 위해 고안되었습니다 [3]. 주로 CSS의 clamp() 함수와 상대 단위(vw, rem 등)를 결합하여 사용하며, 추가적인 중단점 설정 없이도 다양한 화면 크기에서 최적화된 가독성과 일관성을 제공합니다 [1, 4].

📖 Core Content

  • 가변 타이포그래피의 작동 원리와 이점: 가변 타이포그래피는 수동으로 중단점을 설정하고 계산할 필요 없이, 지정된 최소 크기와 최대 크기 사이에서 뷰포트의 크기 변화율에 따라 폰트 크기가 자동으로 보간(interpolated)되어 렌더링됩니다 [5]. 이를 통해 화면이 매우 좁은 320px 모바일 화면부터 2560px 이상의 대형 모니터까지 글자가 깨지거나 지나치게 비대해지는 현상을 방지하며, 여러 개의 미디어 쿼리를 작성해야 하는 수고를 덜어 유지보수성을 크게 높여줍니다 [1, 4].
  • clamp() 함수를 활용한 구현: 현대 반응형 설계의 핵심 기술은 CSS의 clamp(min, preferred, max) 함수를 활용하는 것입니다 [1]. 이 함수는 하한선(최소 폰트 크기), 뷰포트 상대적 배율(선호 크기), 상한선(최대 폰트 크기)을 설정하여, 브라우저의 사용 가능한 공간에 맞춰 글자 크기를 동적으로 조절합니다 [1, 4]. 예를 들어, font-size: clamp(1.5rem, 2vw + 1rem, 3rem);과 같이 선언하면 브라우저가 상황에 맞게 폰트 크기를 연산합니다 [4].
  • 접근성(Accessibility)을 위한 설계 고려사항: 가변 타이포그래피를 구현할 때 단순히 뷰포트 단위(vw 또는 cqi)만 단독으로 사용하여 폰트 크기를 설정하면, 사용자가 브라우저에서 화면 확대(zoom) 기능을 사용할 때 글자 크기가 커지지 않아 접근성 지침(WCAG의 200% 확대 요구사항)을 위반할 위험이 있습니다 [6]. 이를 방지하기 위해서는 calc(16px + 1vw)처럼 기본 픽셀 또는 상대 단위에 뷰포트 단위를 더하거나 [7], clamp() 함수 내에서 em 또는 rem 단위(사용자 설정 기준)와 뷰포트 단위를 조합하여 브라우저 확대 기능이 정상적으로 동작하도록 해야 합니다 [8].
  • 타이포그래피 스케일링 구성: 복잡한 디자인 시스템에서는 여러 폰트 크기 간의 관계를 나타내는 타이포그래피 스케일이 필요합니다 [9]. CSS의 pow() 함수를 활용하면 1rem을 기본 크기로 설정한 뒤, 외부 도구 없이도 수학적 비율에 맞춘 자체적인 타이포그래피 스케일을 유연하게 생성 및 유지보수할 수 있습니다 [10, 11].

🔗 Knowledge Connections


Last updated: 2026-04-26