sass:math
- Dart Sass
- since 1.23.0
- LibSass
- ✗
- Ruby Sass
- ✗
Переменные permalinkПеременные
math.$e - Dart Sass
- since 1.25.0
- LibSass
- ✗
- Ruby Sass
- ✗
Равно значению математической константы e.
math.$pi - Dart Sass
- since 1.25.0
- LibSass
- ✗
- Ruby Sass
- ✗
Равно значению математической константы π.
Ограничивающие функции permalinkОграничивающие функции
math.ceil($number)
ceil($number) //=> number Округляет $number до следующего наибольшего целого числа.
math.clamp($min, $number, $max) //=> number - Dart Sass
- since 1.25.0
- LibSass
- ✗
- Ruby Sass
- ✗
Ограничивает $number диапазоном от $min до $max. Если $number меньше $min, возвращается $min, а если оно больше $max, возвращается $max.
$min, $number и $max должны иметь совместимые единицы измерения или все без единиц измерения.
math.floor($number)
floor($number) //=> number Округляет $number до следующего наименьшего целого числа.
math.max($number...)
max($number...) //=> number Возвращает наибольшее из одного или нескольких чисел.
math.min($number...)
min($number...) //=> number Возвращает наименьшее из одного или нескольких чисел.
math.round($number)
round($number) //=> number Округляет $number до ближайшего целого числа.
Функции расстояний permalinkФункции расстояний
math.abs($number)
abs($number) //=> number Возвращает абсолютное значение числа $number. Если $number отрицательно, это возвращает -$number, а если $number положительно, оно возвращает $number как есть.
math.hypot($number...) //=> number - Dart Sass
- since 1.25.0
- LibSass
- ✗
- Ruby Sass
- ✗
Возвращает длину n-мерного вектора, который имеет компоненты, равные каждому $number. Например, для трех чисел a, b и c, это возвращает квадратный корень из a² + b² + c².
Все числа должны иметь совместимые единицы измерения или все без единиц измерения. А поскольку единицы измерения чисел могут отличаться, в выходных данных берется единица первого числа.
Экспоненциальные функции permalinkЭкспоненциальные функции
math.log($number, $base: null) //=> number - Dart Sass
- since 1.25.0
- LibSass
- ✗
- Ruby Sass
- ✗
Возвращает логарифм числа $number относительно $base. Если $base равно null, вычисляется натуральный логарифм.
$number и $base не должны иметь единиц измерения.
math.pow($base, $exponent) //=> number - Dart Sass
- since 1.25.0
- LibSass
- ✗
- Ruby Sass
- ✗
Возводит $base в степень $exponent.
$base и $exponent должны быть безразмерными.
math.sqrt($number) //=> number - Dart Sass
- since 1.25.0
- LibSass
- ✗
- Ruby Sass
- ✗
Возвращает квадратный корень из $number.
$number должны быть безразмерными.
Тригонометрические функции permalinkТригонометрические функции
math.cos($number) //=> number - Dart Sass
- since 1.25.0
- LibSass
- ✗
- Ruby Sass
- ✗
Возвращает косинус числа $number.
$number должно быть углом (его единицы измерения должны быть совместимы с градусом deg) или безразмерным. Если в $number нет единиц измерения, предполагается, что оно выражено в rad.
math.sin($number) //=> number - Dart Sass
- since 1.25.0
- LibSass
- ✗
- Ruby Sass
- ✗
Возвращает синус числа $number.
$number должно быть углом (его единицы измерения должны быть совместимы с deg) или безразмерным. Если в $number нет единиц измерения, предполагается, что оно выражено в rad.
math.tan($number) //=> number - Dart Sass
- since 1.25.0
- LibSass
- ✗
- Ruby Sass
- ✗
Возвращает тангенс числа $number.
$number должно быть углом (его единицы измерения должны быть совместимы с deg) или безразмерным. Если в $number нет единиц измерения, предполагается, что оно выражено в rad.
math.acos($number) //=> number - Dart Sass
- since 1.25.0
- LibSass
- ✗
- Ruby Sass
- ✗
Возвращает арккосинус числа $number в deg.
$number должны быть безразмерными.
math.asin($number) //=> number - Dart Sass
- since 1.25.0
- LibSass
- ✗
- Ruby Sass
- ✗
Возвращает арксинус числа $number в deg.
$number должны быть безразмерными.
math.atan($number) //=> number - Dart Sass
- since 1.25.0
- LibSass
- ✗
- Ruby Sass
- ✗
Возвращает арктангенс числа $number в deg.
$number должны быть безразмерными.
math.atan2($y, $x) //=> number - Dart Sass
- since 1.25.0
- LibSass
- ✗
- Ruby Sass
- ✗
Возвращает арктангенс с двумя аргументами числа $y и $x в deg.
$y и $x должны иметь совместимые единицы или быть без единиц измерения.
💡 Интересный факт:
math.atan2($y, $x) отличается от atan(math.div($y, $x)), поскольку сохраняет квадрант рассматриваемой точки. Например, math.atan2(1, -1) соответствует точке (-1, 1) и возвращает 135deg. Напротив, math.atan(math.div(1, -1)) и math.atan(math.div(-1, 1)) сначала разрешаются в atan(-1), поэтому оба возвращают -45deg.
Функции единиц permalinkФункции единиц
math.compatible($number1, $number2)
comparable($number1, $number2) //=> boolean Возвращает, есть ли у $number1 и $number2 совместимые единицы измерения.
Если это возвращает true, $number1 и $number2 можно безопасно добавить, вычесть и сравнить. В противном случае это приведет к ошибкам.
⚠️ Внимание!
Глобальное имя этой функции - comparable, но когда она была добавлена в модуль sass:math имя было изменено на compatible, чтобы более четко передать, что делает функция.
math.is-unitless($number)
unitless($number) //=> boolean Возвращает, не имеет ли $number единиц измерения.
math.unit($number)
unit($number) //=> quoted string Возвращает строковое представление единиц $number.
⚠️ Внимание!
Эта функция предназначена для отладки; его выходной формат не гарантирует единообразия для разных версий или реализаций Sass.
Прочие функции permalinkПрочие функции
math.div($number1, $number2) //=> number - Dart Sass
- since 1.33.0
- LibSass
- ✗
- Ruby Sass
- ✗
Возвращает результат деления $number1 на $number2.
Любые единицы, общие для обоих номеров, будут аннулированы. Единицы в $number1, которых нет в $number2, попадут в числитель возвращаемого значения, а единицы в $number2, которых нет в $number1, попадут в его знаменатель.
⚠️ Внимание!
В целях обратной совместимости это возвращает точно такой же результат, как устаревший оператор /, включая объединение двух строк с символом / между ними. Однако со временем это поведение будет удалено, и его не следует использовать в новых таблицах стилей.
math.percentage($number)
percentage($number) //=> number Преобразует безразмерное $number (обычно десятичное число от 0 до 1) в процент.
💡 Интересный факт:
Эта функция идентична $number * 100%.
math.random($limit: null)
random($limit: null) //=> number Если $limit равен null, возвращает случайное десятичное число от 0 до 1.
Если $limit является числом больше или равным 1, возвращает случайное целое число от 1 до $limit.