Улучшаем адаптивность сайта с помощью CSS функции clamp()
Твой программистСинтаксис
clamp(МИН, ЗНАЧЕНИЕ, МАКС) вычисляется как max(МИН, min(ЗНАЧЕНИЕ, МАКС)). Clamp вернёт значение указанное вторым аргументом (предпочитаемое), если оно не выходит за пределы минимального и максимального значений. В качестве любого из аргументов можно передавать вычисляемые значения.
Единицы измерения
Для предпочитаемого значения можно использовать следующие единицы измерения:
- Ширина области просмотра в %, если clamp используется в body (либо ширина контейнера в котором находится clamp).
- em — размер шрифта в текущем контекте.
- rem — размер шрифта в контексте элемента html.
- vw — 1% ширины окна.
- vh — 1% высоты окна.
Поддерживаемые браузеры
Clamp не поддерживается только в браузере Internet Explorer.

Где использовать
Шрифт заголовков

.title {
font-size: clamp(16px, 5vw, 50px);
}
Здесь идеально подходит clamp(), потому что он гарантирует, что используемый размер шрифта будет легко читаться. Если использовать min() для установки максимального размера шрифта, то вы не сможете управлять шрифтом на небольших экранах.
CSS Grid — адаптивная сетка

.wrapper {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
grid-gap: clamp(1rem, 2vw, 24px);
}
Адаптивный padding для секций

Clamp() также идеально подойдёт для установки минимального и максимального размера отступа между секциями. Это можно сделать с помощью следующего CSS-кода:
.section {
padding: clamp(2rem, 10vmax, 10rem) 1rem;
}
Здесь можно найти калькулятор, который поможет вычислить правильные значения атрибутов clamp для шрифтов.