Перейти к содержимому

Свойство CSS font-display

Дескриптор font-display определяет, как браузер загружает и отображает файлы шрифтов. Этот дескриптор имеет следующие значения:

Раньше типографика ограничивалась локальными шрифтами, среди которых были только так называемые «безопасные для веба» (web-safe). Затем появилось @font-face правило, позволяющее загружать файлы шрифтов на сервер и задавать набор правил с именем шрифта и указанием браузеру, откуда их скачивать. Это дало толчок развитию сервисов, позволяющих использовать пользовательские шрифты. Однако файлы таких шрифтов могут быть большими и увеличивать время загрузки страницы.

Существовала ещё одна проблема, связанная с FOUT («вспышкой нестилизованного текста»). Браузеры отображали системный шрифт во время загрузки пользовательского. Это вызывало обеспокоенность, так как веб-дизайнеры считали это нарушением пользовательского опыта. Сегодня браузеры обычно скрывают текст до тех пор, пока пользовательский шрифт не будет загружен, что называется FOIT («вспышкой невидимого текста»).

Однако ни один из вышеперечисленных методов не идеален. Вместо этого теперь существует дескриптор font-display, который сообщает браузеру, что мы предпочитаем: FOUT или FOIT.

Начальное значениеauto
Применяется кправилу @font-face.
НаследуетсяНет.
АнимируемоеНет.
ВерсияCSS Fonts Module Level 4
Синтаксис DOMobject.style.fontDisplay = "swap";

Синтаксис

Синтаксис дескриптора CSS font-display

css
font-display: auto | block | swap | fallback | optional | initial | inherit;

Как использовать правило @font-face?

css
@font-face {
  font-family: 'MyWebFont';
  /* Define the custom font name */
  src: url('myfont.woff2') format('woff2'), url('myfont.woff') format('woff');
  /* Define where the font can be downloaded */
  font-display: optional;
}

Значения

ЗначениеОписание
autoОтображение шрифта определяется браузером.
blockУстанавливает короткий период блокировки и бесконечный период обмена.
swapУстанавливает для начертания шрифта очень короткий период блокировки и бесконечный период обмена.
fallbackУстанавливает для начертания шрифта очень короткий период блокировки и короткий период обмена.
optionalУстанавливает для начертания шрифта очень короткий период блокировки и отсутствие периода обмена.
initialЗаставляет свойство использовать значение по умолчанию.
inheritНаследует свойство от родительского элемента.

Практика

Какие значения может принимать CSS-свойство 'font-display'?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.