Генератор clamp()
Генератор рассчитывает значение clamp() для плавного размера: текст растёт от минимального размера на
узком экране до максимального на широком и не выходит за эти границы. Так заголовки и отступы подстраиваются под
окно без набора медиазапросов — этот приём называют fluid typography.
Как пользоваться
- Задайте минимальный и максимальный размер в px и ширины окна, между которыми размер меняется. Генератор переведёт всё в rem от font-size корня, по умолчанию 16px.
- График показывает, где размер растёт и где остаётся постоянным. Ползунок ширины окна показывает размер и образец текста на выбранной ширине, не меняя настоящее окно.
- Если максимальный размер больше минимального в 2,5 раза и сильнее, генератор предупредит: при увеличении страницы такой текст может вырасти меньше чем вдвое.
- Кнопка копирования берёт готовое значение для свойства
font-sizeили отступа.
Как устроена формула
clamp(MIN, VAL, MAX) берёт среднее значение, но не меньше MIN и не больше
MAX. В середине стоит прямая: слагаемое в vw растёт с шириной окна, а слагаемое в
rem сдвигает её так, чтобы на ширине «от» получился минимальный размер, а на ширине «до» —
максимальный.
Размер только в vw не реагирует на настройку шрифта в браузере и масштаб страницы, поэтому к
vw всегда добавляется часть в rem. Перевести значения макета из px в rem поможет
конвертер единиц, а подробнее о единицах — статья
«Единицы измерения в CSS».
Расчёт и предпросмотр
font-size: clamp(1.125rem, 0.8333rem + 1.2963vw, 2rem);Размеры в CSS — в rem от font-size корня (16px), поэтому текст растёт и вместе с настройкой шрифта в браузере. Перевести значения из px поможет конвертер единиц.
Размер текста:
Съешь же ещё этих мягких французских булок
Максимальный размер больше минимального в 1.8 раза. При увеличении страницы до 200% часть с vw не растёт, и текст может не увеличиться вдвое (WCAG 1.4.4). Безопаснее, чтобы разница была не больше 2.5 раза.