1️⃣ font-display
속성 사용하기
@font-face {
font-family: 'CustomFont';
src: url('customfont.woff2') format('woff2');
font-display: swap; /* FOUT 방식으로 렌더링 */
}
swap
: 기본 폰트로 먼저 표시 후, 웹폰트 로드 시 교체 (FOUT 유도) block
: 폰트 로딩 전까지 숨김 (FOIT 유도) fallback
: swap
과 block
의 중간 형태 optional
: 폰트 로딩 실패 시 기본 폰트 유지 2️⃣ 압축률 높은 폰트 사용하기 (WOFF/WOFF2)
font-display: swap;
설정 Fallback Font(폴백 폰트)는 웹폰트가 로드되지 않을 경우 대신 표시되는 기본 폰트를 의미.
즉, 사용자가 웹사이트에 접근했을 때 지정한 폰트가 로딩되지 않으면 자동으로 대체 폰트를 보여주는 역할.
body {
font-family: 'Roboto', 'Arial', 'Helvetica', sans-serif;
}
Roboto
: 기본으로 사용하려는 폰트 Arial
, Helvetica
: Roboto
가 로드되지 않을 때 대체할 폰트 sans-serif
: 모든 폰트가 실패하면 사용하는 최종 폴백 폰트 (브라우저 기본 폰트)순서 중요: 왼쪽부터 차례대로 적용, 사용할 수 있는 폰트를 만나면 그걸로 결정됨
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
serif
, sans-serif
, monospace
같은 일반적인 폰트 패밀리로 마무리font-family
에 여러 폰트를 순서대로 나열 이렇게 하면 폰트 로딩 이슈가 발생해도 깔끔한 텍스트 표시를 유지할 수 있음