Математические функции
Для удобства работы с числами доступны математические функции, которые представляют собой прослойку между Less-функциями и встроенным объектом Math в JavaScript.
Кратко рассмотрим основные функции, которые могут пригодиться при работе с препроцессором при построении фреймворков и максимально унифицированных less-файлов.
Округление значений
При необходимости значения, получаемые после проведения математических операций, можно округлять, используя стандартные методы ceil()
, floor()
и round()
, представленные в Less в виде функций. Кроме того, Less предоставляет новую функцию percentage()
.
Функция ceil()
всегда округляет значения в большую сторону до целой части:
ceil(14.3) // 15
ceil(13.9) // 14
ceil(14.5) // 15
Функция floor()
всегда округляет значения в меньшую сторону до целой части (отбрасывает дробную часть):
floor(14.3) // 14
floor(13.9) // 13
floor(14.5) // 14
Функция round()
округляет значения в соответствии с правилами математики и заданным количеством знаков после запятой:
round(14.3) // 14
round(13.9) // 14
round(14.5) // 15
// Знаки после запятой
round(14.0714) // 14
round(14.0714, 1) // 14.1
round(14.0714, 2) // 14.07
round(14.0714, 3) // 14.071
round(14.0714, 4) // 14.074
round(14.0714, 7) // 14.074
Функция percentage()
преобразует дробное значение в процентное:
percentage(0.25) // 25%
percentage(1 / 25) // 4%
Важно заметить, что дробная запись 1 / 25
сначала вычисляется как математическая операция, а уже потом передаётся в функцию. То есть, по сути своей, работает с числами с плавающей запятой.
Прочие функции
Математические функции, представленные ниже, являются вторичными и применяются крайне редко. Дело в том, что возможность применять Less для сложных вычислений предоставляется очень редко, ведь это всего-лишь надстройка над CSS.
Тригонометрические функции:
sin(value)
cosvalue)
tan(value)
Обратные тригонометрические функции:
asin(value)
acos(value)
atan(value)
Модуль числа, модуль между числами:
abs(value)
mod(valueOne, valueTwo)
Поиск минимального и максимального значения:
min(list)
// min(1, 14, 19, 0.3)max(list)
// max(1%, 10%, 4%, 8%)
Работа со степенями (квадратный корень и степень):
sqrt(value)
pow(value, power)
// value в power степени
Математические константы:
pi()