Les fonctions mathématiques mod()
et rem()
en CSS.
Résumé des caractéristiques de la fonction mod()
Description des fonctions mod()
et rem()
⚠.
Les fonctions mod()
(modulo) et rem()
(remainder, soit reste en français)
calculent le reste de la division entre deux valeurs.
La différence entre ces deux fonctions n'apparaît que lorsque les deux valeurs ne sont pas du
même signe.
Plus précisément, mod(a, b)
calcule la différence entre a
et le
multiple de b
immédiatement inférieur à a
.
Par exemple mod(24, 5)
donne 4
qui est le reste de 24 - (4 x 5)
.
Tandis que rem()
effectue le même calcul mais en travaillant sur les valeurs absolues
de a
et b
, en ajoutant le signe - au résultat si les deux valeurs ne sont
pas du même signe.
mod(560px, 100px) rem(560px, 100px)
|
Les deux fonctions renvoient toutes les deux la valeur 60px .
|
mod(-560px, -100px) rem(-560px, -100px)
|
Les deux fonctions renvoient toutes les deux la valeur -60px .
|
mod(-560px, 100px) rem(-560px, 100px)
|
Dans ce cas, les deux fonctions ne renvoient pas la même valeur :mod() renvoie 40px , calculé ainsi : -560 - 6 x 100 .rem() renvoie -60px , calculé ainsi : abs(-560) - 5 x abs(100) .
|
Syntaxe des fonctions mod()
et rem()
.
- <propriété>: mod(10%, 20px); <propriété>: rem(10%, 20px);
La syntaxe des deux fonctions est la même : elles attendent chacune deux paramètres, qui peuvent être des nombres sans ou avec une unité. Dans le cas où une unité est indiquée, les deux valeurs doivent représenter des grandeurs physiques de même nature. On peut mixer par exemple des durées en
s
et enms
, mais pas des durées et des angles.Les deux fonctions renvoient un résultat du même type que leurs arguments.
Quelques valeurs empêchent le calcul, en particulier lorsque
b
a la valeur0
. Les deux fonctions renvoient alors la valeurNaN
(Not a Number).a
b
mod(a,b)
rem(a,b)
infinite
NaN
NaN
Infinite
NaN
NaN
Signe opposé à b infinite
NaN
Simulateur avec la fonction mod()
Pour un résultat visuel, les fonctions mod()
et rem()
sont appliquées à la largeur de l'élément "Résultat".
Compatibilité et prise en charge par les navigateurs.
Les fonctions mod()
et rem()
sont, encore à l'heure actuelle (2024), mal prises en charge par les navigateurs.
mod()
rem()
Navigateurs sur ordinateurs :
Navigateurs sur mobiles :
Navigateurs obsolètes ou marginaux :

Internet Explorer

UC Browser pour Androïd

Opéra Mobile

QQ Browser

Baidu Browser

Samsung Internet

Firefox

Safari

Safari sur IOS

Chrome

Opéra

Edge

Chrome pour Androïd

Firefox pour Androïd

Androïd Brower

KaiOS Browser

Opéra mini
Historique de la fonction mod()
.
-
Module CSS - Valeurs et unités - Niveau 4
mod()
etrem()
font partie des nombreuses fonctions de calcul mathématique ajoutée dans ce niveau de la spécification.14 Août 2018Document de travail.
Autres fonctions de calcul de CSS
Voici la liste des nombreuses fonctions de calcul ayant été ajoutées à la spécification CSS Values and Units Module :
Fonctions :
Valeurs:
e
(base des logarithmes naturels), soit environ 2,7182818284590452354.pi
(environ 3,1415926535897932).