Генератор clamp() для CSS

Введите наименьший и наибольший размер и ширину окна, при которых размер должен меняться. Значение clamp(), его вычисление и таблица размеров обновляются по мере ввода.

Бесплатно Работает в браузере Проверено вторник, 10 ноября 2026 г.

CSS-свойство, для которого нужно значение.

Размер при самой узкой ширине окна. Ноль допускается.

Размер при самой широкой ширине окна. Он не может быть меньше наименьшего.

Единица размеров

px — фиксированные пиксели, rem — размер, который следует за размером корневого шрифта.

Ширина окна браузера в единице, указанной ниже.

Шире этой ширины размер остаётся наибольшим.

Единица ширины окна

Выберите px для ширины в пикселях или rem для ширины в размерах корневого шрифта.

Размер шрифта элемента html. Браузеры используют 16 px, если сайт не задаёт другой размер.

Результат

Значение clamp() — Значение, которое ставится после имени свойства.
Наклон — Изменение размера на один пиксель ширины окна.
Свободный член — Размер, который дала бы прямая при ширине окна ноль.
Объявление CSS

Вычисление

Размер при распространённых ширинах

Этот инструмент работает в вашем браузере. То, что вы вводите, нам не отправляется.

Как пользоваться

  1. Выберите Свойство, введите Наименьший размер и Наибольший размер, затем выберите Единица размеров.
  2. Введите две ширины в полях Ширина окна, при которой размер наименьший и Ширина окна, при которой размер наибольший, и выберите их единицу.
  3. Если вы где-то использовали rem, проверьте Размер корневого шрифта (px). Браузеры используют 16 px, если сайт не задаёт другой размер.
  4. Скопируйте Объявление CSS или проверьте Вычисление и Размер при распространённых ширинах, чтобы увидеть результат при каждой ширине.

Как clamp() делает размер плавным

clamp(MIN, VAL, MAX) принимает минимум, предпочтительное значение и максимум. Спецификация CSS Values and Units (на английском) говорит, что он означает то же, что max(MIN, min(VAL, MAX)). Поэтому размер никогда не опускается ниже MIN и не поднимается выше MAX, а между ними следует за VAL, который здесь представляет собой прямую, зависящую от ширины окна.

Прямая идёт от наименьшего размера при наименьшей ширине окна до наибольшего размера при наибольшей ширине. За пределами этих двух ширин размер остаётся на месте.

наклон = (наибольший размер − наименьший размер) / (наибольшая ширина − наименьшая ширина);  свободный член = наименьший размер − наклон × наименьшая ширина;  предпочтительное значение = свободный член + наклон × 100vw

Наклон, свободный член и член vw

Наклон показывает, насколько растёт размер на каждый пиксель ширины окна. Свободный член — это точка, где та же прямая пересекает нулевую ширину окна. Единица vw — это один процент ширины окна, поэтому наклон, умноженный на 100, даёт член, который следует за окном.

Обе ширины и оба размера переводятся в пиксели до вычисления наклона. Значение в rem умножается на размер корневого шрифта, поэтому один и тот же макет даёт тот же результат в rem или в px, когда корневой шрифт 16 px.

  • Наибольший размер должен быть не меньше наименьшего. Инструмент отказывается от меньшего наибольшего размера, потому что такая прямая уменьшалась бы по мере роста экрана.
  • Член vw не следует за настройкой размера текста у посетителя, а свободный член в rem следует. Проверяйте страницу при масштабе 200 %, а свободный член по возможности задавайте в rem.

Пример: шрифт от 16 px до 24 px

Между окном шириной 320 px и окном шириной 1200 px шрифт растёт с 16 px до 24 px. Наклон равен (24 − 16) / (1200 − 320) = 8 / 880, то есть 0,0091 с точностью до четырёх знаков. Свободный член равен 16 − 0,0091 × 320 = 13,0909 px, а член vw — 0,9091 vw.

Значение: clamp(16px, 13.0909px + 0.9091vw, 24px), поэтому объявление CSS такое: font-size: clamp(16px, 13.0909px + 0.9091vw, 24px);. В rem — от 1rem до 1,5rem между 20rem и 75rem при корневом шрифте 16 px — получается clamp(1rem, 0.8182rem + 0.9091vw, 1.5rem).

Частые вопросы

Что происходит с размером, если окно уже наименьшей ширины?

Размер остаётся наименьшим. Формула clamp() никогда не позволяет значению опуститься ниже минимума, поэтому текст сохраняет размер, заданный для самой узкой ширины.

Почему часть окна записана в vw?

Единица vw — это один процент ширины окна, поэтому она меняется вместе с размером окна браузера. Значение в пикселях или rem от окна не меняется, и размер не мог бы за ним следовать.

Почему код иногда ставит часть vw первой?

Когда свободный член отрицательный, код пишет сначала часть vw и вычитает свободный член, так читается яснее. Обе записи дают одно и то же значение.

Можно ли использовать значение для padding, margin или gap?

Да. Выберите padding, margin или gap в поле «Свойство». Та же прямая подходит для любой длины, поэтому отступ растёт вместе с окном так же, как размер шрифта.

Какие браузеры поддерживают clamp()?

Все современные крупные браузеры поддерживают clamp(). Если ваши посетители пользуются старыми версиями, проверьте страницу в них, прежде чем полагаться на плавный размер.

Сохраняется ли введённое или отправляется ли оно на сервер?

Нет. Значение вычисляется в вашем браузере, и ничего введённого не сохраняется и не отправляется на наш сервер. Скопируйте объявление до того, как уйдёте со страницы.

Источники

Цифры и текст в последний раз проверены вторник, 10 ноября 2026 г..

Мы используем необходимые cookie, чтобы сайт работал. С вашего согласия Google также использует рекламные cookie, чтобы показывать персонализированную рекламу. Если вы откажетесь, реклама всё равно будет показываться, но не будет персонализированной.