본문 바로가기
javascript

FOUT(Flash of Unstyled Text)

by rami_ 2025. 1. 13.

웹 페이지를 만들다 보면 폰트가 늦게 적용되어 발생하는 FOUT(Flash of Unstyled Text) 현상이 나타납니다.

 

개발자 도구에서 Fast 4G로 페이지를 로드했을 때 FOUT 현상이 발생했습니다. 사용자들이 처음 진입하여 보게 되는 화면에서 FOUT 현상이 나타나면 텍스트가 깜빡이면서 시각적으로 거슬릴 수 있습니다. 따라서 사용자 경험을 향상시키기 위해 로컬에 저장된 폰트를 프리로딩하고 font-display 속성을 사용하기로 했습니다.

 

현재 페이지에서 중요하게 사용되는 두 가지 폰트를 link 태그를 통해 프리로딩하고, 동시에 font-display 속성값을 swap으로 설정했습니다.

    <link rel="preload" href="/src/assets/fonts/Pretendard_Regular.ttf" as="font" type="font/woff2" crossorigin>
    <link rel="preload" href="/src/assets/fonts/KIMM_Bold.ttf" as="font" type="font/woff2" crossorigin>

 

@font-face {
  font-family: 'KIMMBold';
  src: url('assets/fonts/KIMM_Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Pretendard';
  src: url('assets/fonts/Pretendard_Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

 

이렇게 적용하니 FOUT 현상이 거의 나타나지 않는 것을 확인할 수 있었습니다.

'javascript' 카테고리의 다른 글

[LEARN-JS] Array method - 기존 배열 변경 유무에 따라 나누기  (0) 2024.08.12
[LEARN-JS] Array  (0) 2024.08.06
[LEARN-JS] String, Jest  (0) 2024.07.23
closure  (0) 2024.03.27
scope  (1) 2024.03.26