兼容性:
- Dart·Sass(Dart Sass)
- 从 1.23.0开始
- LibSass
- ✗
- rubySass
- ✗
目前只有Dart Sass支持使用加载内置模块@use
。其他实现的用户必须使用其全局名称来调用函数。
math.$e
兼容性:
- Dart·Sass(Dart Sass)
- 自 1.25.0
- LibSass
- ✗
- rubySass
- ✗
等于数学常数e的值。
SCSS 语法
@debug math.$e; // 2.7182818285
Sass语法
@debug math.$e // 2.7182818285
math.$pi
兼容性:
- Dart·Sass(Dart Sass)
- 自 1.25.0
- LibSass
- ✗
- rubySass
- ✗
等于数学常数π的值。
SCSS 语法
@debug math.$pi; // 3.1415926536
Sass语法
@debug math.$pi // 3.1415926536
math.ceil($number)
ceil($number) //=> number
四舍五入$number
到下一个最高的整数。
SCSS 语法
@debug math.ceil(4); // 4
@debug math.ceil(4.2); // 5
@debug math.ceil(4.9); // 5
Sass语法
@debug math.ceil(4) // 4
@debug math.ceil(4.2) // 5
@debug math.ceil(4.9) // 5
math.clamp($min, $number, $max) //=> number
兼容性:
- Dart·Sass(Dart Sass)
- 自 1.25.0
- LibSass
- ✗
- rubySass
- ✗
限制$number
在$min
和之间的范围$max
。如果$number
小于,则$min
返回$min
,如果大于,$max
则返回 $max
。
$min
,,$number
并且$max
必须具有兼容的单位,或者全部为无单位。
SCSS 语法
@debug math.clamp(-1, 0, 1); // 0
@debug math.clamp(1px, -1px, 10px); // 1px
@debug math.clamp(-1in, 1cm, 10mm); // 10mm
Sass语法
@debug math.clamp(-1, 0, 1) // 0
@debug math.clamp(1px, -1px, 10px) // 1px
@debug math.clamp(-1in, 1cm, 10mm) // 10mm
math.floor($number)
floor($number) //=> number
$number
向下舍入到下一个最低整数。
SCSS 语法
@debug math.floor(4); // 4
@debug math.floor(4.2); // 4
@debug math.floor(4.9); // 4
Sass语法
@debug math.floor(4) // 4
@debug math.floor(4.2) // 4
@debug math.floor(4.9) // 4
math.max($number...)
max($number...) //=> number
返回一个或多个数字中的最大值。
SCSS 语法
@debug math.max(1px, 4px); // 4px
$widths: 50px, 30px, 100px;
@debug math.max($widths...); // 100px
Sass语法
@debug math.max(1px, 4px) // 4px
$widths: 50px, 30px, 100px
@debug math.max($widths...) // 100px
math.min($number...)
min($number...) //=> number
返回一个或多个数字的最小值。
SCSS 语法
@debug math.min(1px, 4px); // 1px
$widths: 50px, 30px, 100px;
@debug math.min($widths...); // 30px
Sass语法
@debug math.min(1px, 4px) // 1px
$widths: 50px, 30px, 100px
@debug math.min($widths...) // 30px
math.round($number)
round($number) //=> number
四舍五入$number
到最接近的整数。
SCSS 语法
@debug math.round(4); // 4
@debug math.round(4.2); // 4
@debug math.round(4.9); // 5
Sass语法
@debug math.round(4) // 4
@debug math.round(4.2) // 4
@debug math.round(4.9) // 5
math.abs($number)
abs($number) //=> number
返回绝对值的$number
。如果$number
为负,则返回-$number
,如果$number
为正,则按$number
原样返回。
SCSS 语法
@debug math.abs(10px); // 10px
@debug math.abs(-10px); // 10px
Sass语法
@debug math.abs(10px) // 10px
@debug math.abs(-10px) // 10px
math.hypot($number...) //=> number
兼容性:
- Dart·Sass(Dart Sass)
- 自 1.25.0
- LibSass
- ✗
- rubySass
- ✗
返回具有等于每个元素的n维向量的长度$number
。例如,对于三个数字a,b和c,这将返回a²+b²+c²的平方根。
这些数字必须全部具有兼容的单位,或者都必须无单位。并且由于数字的单位可能不同,因此输出采用第一个数字的单位。
SCSS 语法
@debug math.hypot(3, 4); // 5
$lengths: 1in, 10cm, 50px;
@debug math.hypot($lengths...); // 4.0952775683in
Sass语法
@debug math.hypot(3, 4) // 5
$lengths: 1in, 10cm, 50px
@debug math.hypot($lengths...) // 4.0952775683in
math.log($number, $base: null) //=> number
兼容性:
- Dart·Sass(Dart Sass)
- 自 1.25.0
- LibSass
- ✗
- rubySass
- ✗
返回对数的$number
相对$base
。如果$base
为null
,则计算自然对数。
$number
并且$base
必须是无单位的。
SCSS 语法
@debug math.log(10); // 2.302585093
@debug math.log(10, 10); // 1
Sass语法
@debug math.log(10) // 2.302585093
@debug math.log(10, 10) // 1
math.pow($base, $exponent) //=> number
兼容性:
- Dart·Sass(Dart Sass)
- 自 1.25.0
- LibSass
- ✗
- rubySass
- ✗
提升$base
力量 $exponent
。
$base
并且$exponent
必须是无单位的。
SCSS 语法
@debug math.pow(10, 2); // 100
@debug math.pow(100, 1/3); // 4.6415888336
@debug math.pow(5, -2); // 0.04
Sass语法
@debug math.pow(10, 2) // 100
@debug math.pow(100, 1/3) // 4.6415888336
@debug math.pow(5, -2) // 0.04
math.sqrt($number) //=> number
兼容性:
- Dart·Sass(Dart Sass)
- 自 1.25.0
- LibSass
- ✗
- rubySass
- ✗
返回平方根的 $number
。
$number
必须没有单位。
SCSS 语法
@debug math.sqrt(100); // 10
@debug math.sqrt(1/3); // 0.5773502692
@debug math.sqrt(-1); // NaN
Sass语法
@debug math.sqrt(100) // 10
@debug math.sqrt(1/3) // 0.5773502692
@debug math.sqrt(-1) // NaN
math.cos($number) //=> number
兼容性:
- Dart·Sass(Dart Sass)
- 自 1.25.0
- LibSass
- ✗
- rubySass
- ✗
返回余弦的 $number
。
$number
必须为一个角度(其单位必须与兼容deg
)或无单位。如果$number
没有单位,则假定位于中 rad
。
SCSS 语法
@debug math.cos(100deg); // -0.1736481777
@debug math.cos(1rad); // 0.5403023059
@debug math.cos(1); // 0.5403023059
Sass语法
@debug math.cos(100deg) // -0.1736481777
@debug math.cos(1rad) // 0.5403023059
@debug math.cos(1) // 0.5403023059
math.sin($number) //=> number
兼容性:
- Dart·Sass(Dart Sass)
- 自 1.25.0
- LibSass
- ✗
- rubySass
- ✗
返回的正弦值 $number
。
$number
必须为一个角度(其单位必须与兼容deg
)或无单位。如果$number
没有单位,则假定位于中 rad
。
SCSS 语法
@debug math.sin(100deg); // 0.984807753
@debug math.sin(1rad); // 0.8414709848
@debug math.sin(1); // 0.8414709848
Sass语法
@debug math.sin(100deg) // 0.984807753
@debug math.sin(1rad) // 0.8414709848
@debug math.sin(1) // 0.8414709848
math.tan($number) //=> number
兼容性:
- Dart·Sass(Dart Sass)
- 自 1.25.0
- LibSass
- ✗
- rubySass
- ✗
返回正切的 $number
。
$number
必须为一个角度(其单位必须与兼容deg
)或无单位。如果$number
没有单位,则假定位于中 rad
。
SCSS 语法
@debug math.tan(100deg); // -5.6712818196
@debug math.tan(1rad); // 1.5574077247
@debug math.tan(1); // 1.5574077247
Sass语法
@debug math.tan(100deg) // -5.6712818196
@debug math.tan(1rad) // 1.5574077247
@debug math.tan(1) // 1.5574077247
math.acos($number) //=> number
兼容性:
- Dart·Sass(Dart Sass)
- 自 1.25.0
- LibSass
- ✗
- rubySass
- ✗
返回in 中的反余弦值。$number
deg
$number
必须没有单位。
SCSS 语法
@debug math.acos(0.5); // 60deg
@debug math.acos(2); // NaNdeg
Sass语法
@debug math.acos(0.5) // 60deg
@debug math.acos(2) // NaNdeg
math.asin($number) //=> number
兼容性:
- Dart·Sass(Dart Sass)
- 自 1.25.0
- LibSass
- ✗
- rubySass
- ✗
返回in 中的反正弦值。$number
deg
$number
必须没有单位。
SCSS 语法
@debug math.asin(0.5); // 30deg
@debug math.asin(2); // NaNdeg
Sass语法
@debug math.asin(0.5) // 30deg
@debug math.asin(2) // NaNdeg
math.atan($number) //=> number
兼容性:
- Dart·Sass(Dart Sass)
- 自 1.25.0
- LibSass
- ✗
- rubySass
- ✗
返回in 中的反正切值。$number
deg
$number
必须没有单位。
SCSS 语法
@debug math.atan(10); // 84.2894068625deg
Sass语法
@debug math.atan(10) // 84.2894068625deg
math.atan2($y, $x) //=> number
兼容性:
- Dart·Sass(Dart Sass)
- 自 1.25.0
- LibSass
- ✗
- rubySass
- ✗
返回2参数反正切的$y
和$x
在 deg
。
$y
并且$x
必须具有兼容的单位或无单位。
???? 有趣的事实:
atan2($y, $x)
与之不同,atan($y / $x)
因为它保留了所讨论点的象限。例如,atan2(1, -1)
对应于point (-1, 1)
并返回135deg
。相比之下,atan(1 / -1)
和atan(-1 / 1)
决心首先atan(-1)
,这样既回报 -45deg
。
SCSS 语法
@debug math.atan2(-1, 1); // 135deg
Sass语法
@debug math.atan2(-1, 1) // 135deg
math.compatible($number1, $number2)
comparable($number1, $number2) //=> boolean
返回是否$number1
和$number2
具有兼容的单位。
如果这样的回报true
,$number1
并且$number2
可以安全地添加,减去,和比较。否则,将产生错误。
Head️抬头!
该函数的全局名称为,但是将其添加到模块后,该名称已更改为更清楚地传达该函数的功能。comparable
sass:math
compatible
SCSS 语法
@debug math.compatible(2px, 1px); // true
@debug math.compatible(100px, 3em); // false
@debug math.compatible(10cm, 3mm); // true
Sass语法
@debug math.compatible(2px, 1px) // true
@debug math.compatible(100px, 3em) // false
@debug math.compatible(10cm, 3mm) // true
math.is-unitless($number)
unitless($number) //=> boolean
返回是否$number
没有单位。
SCSS 语法
@debug math.is-unitless(100); // true
@debug math.is-unitless(100px); // false
Sass语法
@debug math.is-unitless(100) // true
@debug math.is-unitless(100px) // false
math.unit($number)
unit($number) //=> quoted string
返回以$number
单位表示的字符串。