saturate()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2016.
La fonction CSS saturate() permet d'accentuer ou de réduire la saturation d'une image. Le résultat de cette fonction est une valeur <filter-function>.
Exemple interactif
filter: saturate(1);
filter: saturate(4);
filter: saturate(50%);
filter: saturate(0);
<section id="default-example">
<img
class="transition-all"
id="example-element"
src="/shared-assets/images/examples/firefox-logo.svg"
width="200" />
</section>
Syntaxe
saturate(amount)
Paramètres
amountFacultatif-
Niveau de saturation, exprimé en nombre (
<number>) ou en pourcentage (<percentage>). Une valeur inférieure à100%désature l'image, tandis qu'une valeur supérieure à100%la sursature. Une valeur de0%rend l'image totalement désaturée, tandis qu'une valeur de100%laisse l'image inchangée. La valeur initiale utilisée pour l'interpolation est1. La valeur par défaut est1.
Syntaxe formelle
<saturate()> =
saturate( [ <number> | <percentage> ]? )
Exemples
>Exemples de valeurs correctes pour saturate()
saturate(0); /* Complètement sous-saturée */
saturate(.4); /* Sous-saturée à 40% */
saturate() /* Aucun effet */
saturate(100%);
saturate(200%); /* Saturation doublée */
saturate() ne préserve pas la teinte ni la luminosité
Le diagramme ci-dessous compare deux dégradés de couleurs ayant hsl(0 50% 50%) comme point central : le premier est généré avec saturate(), le second utilise de vraies valeurs HSL. Remarquez que le dégradé obtenu avec saturate() présente des différences de teinte et de luminosité aux extrémités.
<div>
<p>Avec <code>saturate()</code></p>
<div id="saturate"></div>
</div>
<div>
<p>Avec <code>hsl()</code></p>
<div id="hsl"></div>
</div>
const saturate = document.getElementById("saturate");
const hsl = document.getElementById("hsl");
for (let i = 0; i <= 200; i++) {
const div1 = document.createElement("div");
div1.style.backgroundColor = `hsl(0 ${i / 2}% 50%)`;
hsl.appendChild(div1);
const div2 = document.createElement("div");
div2.style.backgroundColor = "hsl(0 50% 50%)";
div2.style.filter = `saturate(${i}%)`;
saturate.appendChild(div2);
}
Spécifications
| Specification |
|---|
| Filter Effects Module Level 1> # funcdef-filter-saturate> |
Compatibilité des navigateurs
Chargement…
Voir aussi
Les autres fonctions <filter-function> pouvant être utilisées dans les valeurs des propriétés filter et backdrop-filter sont :