Как правильно интегрировать шрифты в Nuxt3?

Как можно избавиться от мерцания текста на странице после перезагрузки при использовании шрифта с помощью `@font-face` в приложении Nuxt3?
  • 9 августа 2024 г. 1:03
Ответы на вопрос 2
Для интеграции шрифтов в Nuxt3 можно воспользоваться следующими шагами:

1. Создать папку с шрифтами в директории `assets` вашего проекта.
2. Создать файлы стилей для шрифтов, например `fonts.css`.
3. Внутри файла `fonts.css` определить стили для шрифта с помощью `@font-face`.
4. Подключить файл `fonts.css` в вашем главном стиле или компоненте.

Пример `fonts.css`:
```css
@font-face {
  font-family: 'MyFont';
  src: url('fonts/MyFont-Regular.ttf') format('truetype');
}

@font-face {
  font-family: 'MyFont-Bold';
  src: url('fonts/MyFont-Bold.ttf') format('truetype');
}
```

Для избежания мерцания текста на странице после перезагрузки при использовании шрифта с помощью `@font-face`, рекомендуется использовать локальное хранение шрифтов вместо внешних ссылок. Также можно использовать специальные загрузчики шрифтов и установить параметр `font-display: swap`, чтобы браузер сначала отображал доступные системные шрифты, а затем загружал пользовательские шрифты.
Шрифты всегда и везде мерцают если не в кэше. Единственный способ избежать этого - ничего не показывать пока шрифт не загрузится - т.е. отображать лоадер или ещё что. Дождаться загрузки помогут соответствующие библиотеки, например webfontloader :
Похожие вопросы