mod()
Baseline
2024
Newly available
Since May 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Die mod() CSS Funktion gibt einen Modulus zurück, der übrig bleibt, wenn der erste Parameter durch den zweiten Parameter geteilt wird, ähnlich dem JavaScript Restoperator (%). Der Modulus ist der Wert, der übrig bleibt, wenn ein Operand, der Dividend, durch einen zweiten Operand, den Divisor, geteilt wird. Er übernimmt immer das Vorzeichen des Divisors.
Die Berechnung lautet a - (Math.floor(a / b) * b). Zum Beispiel gibt die CSS mod(21, -4) Funktion den Rest von -3 zurück. Die vollständige Berechnung ist 21 - (Math.floor(21 / -4) * -4). Beim Teilen von 21 durch -4 ist das Ergebnis -5.25. Dies wird zu -6 abgerundet. Das Multiplizieren von -6 mit -4 gibt 24. Das Subtrahieren dieser 24 von der ursprünglichen 21 ergibt den Rest von -3.
Syntax
/* 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 */
Parameter
Die mod(dividend, divisor) Funktion akzeptiert zwei durch Komma getrennte Werte als ihre Parameter. Beide Parameter müssen denselben Typ haben, Zahl, Dimension oder <percentage>, damit die Funktion gültig ist. Während die Einheiten in den beiden Parametern nicht gleich sein müssen, müssen sie vom gleichen Dimensionstyp sein, wie z.B. <length>, <angle>, <time>, oder <frequency>, um gültig zu sein.
dividend-
Eine Berechnung, die sich zu einer
<number>,<dimension>, oder<percentage>auflöst und den Dividend darstellt. divisor-
Eine Berechnung, die sich zu einer
<number>,<dimension>, oder<percentage>auflöst und den Divisor darstellt.
Rückgabewert
Gibt eine <number>, <dimension>, oder <percentage> (entspricht dem Typ der Parameter) zurück, die den Modulus darstellt, also den übrig gebliebenen Wert der Operation.
- Wenn
divisor0ist, ist das ErgebnisNaN. - Wenn
dividendunendlich ist, ist das ErgebnisNaN. - Wenn
divisorpositiv ist, ist das Ergebnis positiv (0⁺), und wenndivisornegativ ist, ist das Ergebnis negativ (0⁻).
Formale Syntax
<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
Spezifikationen
| Specification |
|---|
| CSS Values and Units Module Level 4> # funcdef-mod> |
Browser-Kompatibilität
Loading…