Les fonctions 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
set 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
ba la valeur0. Les deux fonctions renvoient alors la valeurNaN(Not a Number).abmod(a,b)rem(a,b)infiniteNaNNaNInfiniteNaNNaNSigne opposé à b infiniteNaN
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 maintenant bien prises en charge par les navigateurs.
mod() qui calcule le reste d'une division entière. La différence avec rem() apparaît lorsque les deux opérandes en sont pas du même signe.rem() qui calcule le reste d'une division entière. La différence avec mod() apparaît lorsque les deux opérandes ne sont pas du même signe.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

Chrome

Edge

Safari

Opéra

Firefox

Chrome pour Androïd

Safari sur IOS

Androïd Brower

Firefox pour Androïd

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 :
Propriétés :
Fonctions :
calc-size() permet de faire des calculs sur la dimension intrinsèque d'un élément (définie par le contenu).Valeurs:
e (base des logarithmes naturels), soit environ 2,7182818284590452354.pi (environ 3,1415926535897932).


