Шрифты имеют данные контура глифа. Если у вас есть обычные шрифты для «обычного» и «полужирного» шрифта, то каждый из них имеет отдельные контуры. Но в переменном шрифте есть один набор контуров плюс дополнительные «дельта-данные» , в которых конструктор шрифтов описывает, как контур можно варьировать в пространстве вариантов дизайна одной или нескольких осей. Дельта-данные обеспечивают максимальное изменение вдоль оси, и в итоге вы получаете континуум от исходного контура до максимальной модификации, и можно выбрать любое изменение вдоль этого континуума.
Итак, переменная может быть описана как целое семейство шрифтов в одном файле, но это даже больше, чем это, так как это семейство теперь включает в себя все небольшие, инкрементные изменения по всем поддерживаемым осям - так что это не просто семейство со «светлыми», «обычными» и «жирный», но и непрерывный диапазон возможностей между ними.
Анимация была упомянута в качестве возможного использования. Но еще более значимым для веб-разработчиков является доступ к большей палитре типографики c и небольшим / небольшим файлам для загрузки.
Я рекомендую недавнюю презентацию Мэнди Майкла, Очень отзывчивая типография с переменными шрифтами , а также статью, которую она написала о производительности, Преимущества с точки зрения производительности переменных шрифтов .
Если вы хотите понять технические подробности о том, как работает переменный формат шрифта, здесь есть обзорная глава в OpenType spe c, здесь .
The Руководство по MDN также отлично.
Что касается заданного вами c вопроса о том, чтобы объявить диапазон font-weight: 100 500
, а затем использовать font-weight: 600
, но не увидеть ничего другого, любое значение выходит за заявленный диапазон будет недействительным, и UA будет использовать ближайшее действительное значение. Так что в вашем примере font-weight: 600
должен дать тот же результат, что и font-weight: 500
.