CSS функции min() и max()
По моему опыту, CSS функцию clamp() любят больше, чем min() и max().
Конечно, она часто оказывается самой удобной, но и min(), и max() также могут принести огромную пользу.
В отличие от clamp(), требующей трех значений, функции min() и max() принимают столько значений, сколько необходимо.
Например, можно сделать что-то вроде этого:
.element {
inline-size: min(100%, 960px, 60ch);
}Я начал использовать min() во многих местах, где раньше использовал свойства max-, например, max-inline-size.
Один из распространенных примеров — классы .container/.wrapper:
.wrapper {
width: min(100% - 32px, 960px);
margin-inline: auto;
}В данном случае я выбираю меньшее значение между 100% - 32px и 960px.
Недостатком этих свойств часто является то, что их сложно быстро прочитать, но если в CSS возникает проблема с читаемостью, несколько CSS переменных всегда упростят жизнь.
.wrapper {
--max-width: 960px;
--padding: 16px;
width: min(
100% - var(--padding) * 2,
var(--max-width)
);
}Может показаться, что это требует больше усилий, но я предпочитаю использовать переменные CSS для таких вещей, поскольку при необходимости они легко изменяются.