mod()
mod() CSS 函数返回第一个参数除以第二个参数后的余数,类似于 JavaScript 的余数运算符(%)。模数是指被除数除以除数后剩余的值。它总是与除数符号相同。
计算公式为 a - (Math.floor(a / b) * b)。例如,CSS mod(21, -4) 函数返回余数 -3。完整的计算过程是 21 - (Math.floor(21 / -4) * -4)。当 21 除以 -4 时,结果是 -5.25。将其向下取整为 -6。将 -6 乘以 -4 得到 24。从原始的 21 中减去 24,余数是 -3。
语法
css
/* Unitless <number> */
line-height: mod(7, 2); /* 1 */
line-height: mod(14, 5); /* 4 */
line-height: mod(3.5, 2); /* 1.5 */
/* Unit based <percentage> and <dimension> */
margin: mod(15%, 2%); /* 1% */
margin: mod(18px, 4px); /* 2px */
margin: mod(19rem, 5rem); /* 4rem */
margin: mod(29vmin, 6vmin); /* 5vmin */
margin: mod(1000px, 29rem); /* 72px - if root font-size is 16px */
/* Negative/positive values */
rotate: mod(100deg, 30deg); /* 10deg */
rotate: mod(135deg, -90deg); /* -45deg */
rotate: mod(-70deg, 20deg); /* 10deg */
rotate: mod(-70deg, -15deg); /* -10deg */
/* Calculations */
scale: mod(10 * 2, 1.7); /* 1.3 */
rotate: mod(10turn, 18turn / 3); /* 4turn */
transition-duration: mod(20s / 2, 3000ms * 2); /* 4s */
参数
mod(dividend, divisor) 函数接受两个以逗号分隔的值作为其参数。为了使该函数有效,两个参数必须具有相同的类型:数字、维度或<percentage>。虽然两个参数中的单位不必相同,但它们需要具有相同的维度类型,例如<length>、<angle>、<time>或<frequency>,才能有效。
被除数(dividend)-
一个计算结果为
<number>、<dimension>或<percentage>的表达式,表示被除数。 divisor-
一个计算结果为
<number>、<dimension>或<percentage>的表达式,表示除数。
返回值
返回一个<number>、<dimension>或<percentage>(对应于参数的类型),表示模数,即运算的余数。
- 如果
divisor为0,则结果为NaN。 - 如果
dividend为infinite,则结果为NaN。 - 如果
divisor为正,则结果为正(0⁺);如果divisor为负,则结果为负(0⁻)。
正式语法
<mod()> =
mod( <calc-sum> , <calc-sum> )
<calc-sum> =
<calc-product> [ [ '+' | '-' ] <calc-product> ]*
<calc-product> =
<calc-value> [ [ '*' | / ] <calc-value> ]*
<calc-value> =
<number> |
<dimension> |
<percentage> |
<calc-keyword> |
( <calc-sum> )
<calc-keyword> =
e |
pi |
infinity |
-infinity |
NaN
规范
| 规范 |
|---|
| CSS 值和单位模块第 4 级 # funcdef-mod |
浏览器兼容性
加载中…