Генератор 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».

Расчёт и предпросмотр

Размер и ширина окна, px
font-size: clamp(1.125rem, 0.8333rem + 1.2963vw, 2rem);

Размеры в CSS — в rem от font-size корня (16px), поэтому текст растёт и вместе с настройкой шрифта в браузере. Перевести значения из px поможет конвертер единиц.

18px32px
Пунктир — ширины «от» и «до». Между ними размер растёт, за ними остаётся постоянным. Точка — ширина из ползунка.

Размер текста: 23.29px

Съешь же ещё этих мягких французских булок