Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как использовать вариативный шрифт

Короткий ответ

Вариативный шрифт — это один файл, в котором толщина (а иногда ширина и наклон) меняется плавно. Подключите его через @font-face с диапазоном толщин:

@font-face {
  font-family: "Inter";
  src: url("/fonts/inter-variable.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}
 
h1 { font-family: "Inter", system-ui, sans-serif; font-weight: 650; }

Запись font-weight: 100 900 говорит браузеру, что в файле есть все толщины от 100 до 900, и подходит любое число, а не только круглые сотни.

Любая толщина и анимация

С вариативным шрифтом толщину можно менять плавно. Наведите курсор на слово:

<style>
  .grow { font: 300 32px system-ui, sans-serif; transition: font-weight 0.4s; }
  .grow:hover { font-weight: 800; }
</style>
 
<p class="grow">Hover me</p>

Системные шрифты Windows 11 и macOS вариативные, поэтому там толщина меняется плавно. С обычным шрифтом она прыгает между доступными начертаниями.

Другие оси

Стандартные оси управляются обычными свойствами: толщина — font-weight, ширина — font-stretch, наклон — font-style: oblique 10deg. Собственные оси шрифта, например «округлость», задают через font-variation-settings четырёхбуквенным именем:

.title { font-variation-settings: "SOFT" 100; }

Частая ошибка

Задавать толщину через font-variation-settings: "wght" 650 вместо font-weight: 650. Это свойство перезаписывает все оси разом и не наследуется по частям, поэтому <strong> внутри перестаёт быть жирным. Для стандартных осей используйте обычные свойства, а font-variation-settings — только для нестандартных.

Функции из этого ответа

  • @font-face — Подключает шрифт и даёт ему имя для использования в `font-family`.
  • font-weight — Насыщенность (жирность) шрифта.
  • font-variation-settings — Задаёт оси вариативного шрифта напрямую — насыщенность, ширину, наклон или собственные оси шрифта — любым числом, а не фиксированными шагами.
  • transition — Плавно анимирует изменение свойства от старого значения к новому.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.