Перейти к основному содержимому

Математические функции CSS

Благодаря математическим функциям значения свойств в CSS могут быть математическими выражениями.

В этой главе рассматриваются четыре из них:

  • calc()
  • max()
  • min()
  • clamp()

Функция CSS calc()

Используйте calc(), когда значение свойства должно быть результатом вычисления.

Поддерживаются операторы сложения (+), вычитания (-), умножения (*) и деления (/), а единицы измерения можно смешивать, например пиксели с процентами.

Пример

И ширина, и высота этого элемента <div> получены с помощью calc().

Prompt
Создайте страницу с div, который использует calc(), чтобы задать ширину равной 100% минус 100px, а высоту — 30vh плюс 50px. Центрируйте его с помощью margin auto и добавьте рамку 1px solid чёрного цвета и padding 10px.
Результат: полная HTML-страница

Синтаксис CSS

styles.css
calc(expression)

Функция CSS max()

Из списка значений, разделённых запятыми, max() выбирает наибольшее и использует его для свойства.

Пример

Из значений 50% и 300px max() задаёт ширине #div1 большее.

Prompt
Создайте страницу с div, который использует max(), чтобы задать ширину равной наибольшему из значений: 50% или 300px. Задайте ему высоту 100px, рамку 1px solid чёрного цвета и padding 10px.
Результат: полная HTML-страница

Синтаксис CSS

styles.css
max(value1, value2, ...)

Функция CSS min()

Из списка значений, разделённых запятыми, min() выбирает наименьшее и использует его для свойства.

Пример

Из значений 50% и 300px min() задаёт ширине #div1 меньшее.

Prompt
Создайте страницу с div, который использует min(), чтобы задать ширину равной наименьшему из значений: 50% или 300px. Задайте ему высоту 100px, рамку 1px solid чёрного цвета и padding 10px.
Результат: полная HTML-страница

Синтаксис CSS

styles.css
min(value1, value2, ...)

Функция CSS clamp()

Значение, которое реагирует на размер окна просмотра, но остаётся в заданных пределах, даёт clamp(): оно изменяется между минимумом, предпочтительным значением и максимумом.

Эти три значения также являются её параметрами и обрабатываются так:

  • Предпочтительное значение между минимумом и максимумом используется как есть.
  • Предпочтительное значение ниже минимума уступает минимальному значению.
  • Предпочтительное значение выше максимума уступает максимальному значению.

Пример

font-size элемента <h2> равен 5vw и ограничен: не менее 1.5rem и не более 3rem. Элемент <div> тоже использует clamp(), и для font-size, и для ширины.

Prompt
Создайте страницу с h2, использующим clamp() для font-size (минимум 1.5rem, предпочтительно 5vw, максимум 3rem), и div, использующим clamp() как для font-size (минимум 1rem, предпочтительно 2.5vw, максимум 2rem), так и для width (минимум 200px, предпочтительно 50%, максимум 600px). Добавьте div рамку 1px solid зелёного цвета и padding 10px.
Результат: полная HTML-страница

Синтаксис CSS

styles.css
clamp(min, preferred, max)