SSF-O - Единый стандарт для шрифтов (Local, Google Fonts)

SSF-O - Единый стандарт для шрифтов (Local, Google Fonts)

30

2 мин.

Определения

Стандарт SSF-O определяет требования к семантике, доступности и логике работы шрифтов.

Структура и Семантика

Оптимальное подключение для современных фреймворков (Next.js, Nuxt, Gatsby)

В современных средах рекомендуется использовать встроенные инструменты для автоматической оптимизации шрифтов.

Использование встроенного решения в NextJS, обеспечивает автоматическое устранение сдвига макета (CLS), локальную загрузку шрифтов, а также добавление display=swap.

import { Inter } from 'next/font/google';

const inter = Inter({
  weight: ['400', '500', '700'],
  subsets: ['cyrillic', 'latin'],
  variable: '--font-inter',
});

export { inter };

Применение в Layout:

import { inter } from './fonts';

<html lang="ru" className={inter.variable}> 
  <body>{children}</body>
</html>

Использование в global.css:

body {
  font-family: var(--font-inter), sans-serif; 
}

Оптимальное подключение для “чистого” HTML/CSS/JS и CMS

На статических сайтах или в CMS важно самостоятельно управлять загрузкой шрифтов для обеспечения доступности и корректного отображения.

Локальное подключение (@font-face) - лучший способ:

АспектОписание
ФорматWOFF2 (лучшее сжатие и поддержка)
Размещениеpublic/fonts/ или assets/fonts/
Критический CSS@font-face должен быть в начале основного CSS-файла
Запасной шрифтОбеспечивает устранение CLS
@font-face {
  font-family: "Inter";
  src: url("/fonts/Inter-Regular.woff2") format("woff2"); 
  font-weight: 400; 
  font-style: normal; 
  font-display: swap;
}

body {
  font-family: "Inter", sans-serif; 
}

Подключение Google Fonts через <link>:

<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap" rel="stylesheet">

Интерактивность и Визуальный отклик

CLS (Cumulative Layout Shift) устраняется за счет локальной загрузки шрифтов и font-display: swap;, и не стоит забывать про запасные шрифты которые обеспечат мгновенное отображение текста до полной загрузки основного шрифта.

Неоптимальные/Устаревшие способы (Избегайте)

Некорректное подключение шрифтов может замедлять страницу и ухудшать взаимодействие.

СпособПримерПроблема
@import в CSS@import url("…");Блокирует параллельную загрузку ресурсов
Форматы кроме WOFF2.ttf, .eot, .svg, .woffУстаревшие, большие файлы
Отсутствие font-display: swap;@font-face { … } без swapFOIT - текст невидим до загрузки шрифта

Похожие статьи

  • Анатомия React компонента

    Моё видение того, как должен выглядеть React компонент

    104

    7 мин.

  • SSF-U - Единый стандарт для фуллскрина

    Стандарт SSF-U определяет требования к семантике, доступности и логике работы фуллскрина

    37

    2 мин.

  • SSA - Единый стандарт для аккордеона

    Стандарт SSA определяет требования к семантике, доступности и логике работы аккордеона

    54

    2 мин.

  • Bad Practices для сайтов

    Разбор критических ошибок веб-дизайна. Почему слайдеры, автоплей и тяжёлые страницы снижают конверсию и позиции в Google и Yandex

    47

    1 мин.

  • SSP - Единый стандарт для пагинации

    Стандарт SSP определяет требования к семантике, доступности и логике работы пагинации

    59

    1 мин.

  • SSPS - Единый стандарт для структуры проекта

    Стандарт SSPS определяет требования к структуре и наименованию файлов и папок в проекте

    169

    2 мин.

  • Все статьи

Свяжитесь со мной