saturate()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.
Die saturate() CSS Funktion erhöht oder verringert die Farbsättigung des Eingangsbilder. Das Ergebnis ist eine <filter-function>.
Hinweis:
saturate() wird als Matrixoperation auf den RGB-Farben spezifiziert. Es konvertiert die Farbe nicht tatsächlich in das HSL-Modell, was eine nicht-lineare Operation ist. Daher kann es den Farbton oder die Helligkeit der Originalfarbe nicht bewahren.
Probieren Sie es aus
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>
Syntax
saturate(amount)
Parameter
amountOptional-
Die Menge der Konvertierung, angegeben als ein
<number>oder ein<percentage>. Ein Wert unter100%verringert die Sättigung des Bildes, während ein Wert über100%die Sättigung erhöht. Ein Wert von0%ist vollständig entsättigt, während ein Wert von100%den Eingang unverändert lässt. Der Anfangswert für die Interpolation ist1. Der Standardwert ist1.
Formale Syntax
<saturate()> =
saturate( [ <number> | <percentage> ]? )
Beispiele
>Beispiele für korrekte Werte von saturate()
saturate(0) /* Completely unsaturated */
saturate(.4) /* 40% saturated */
saturate() /* No effect */
saturate(100%) /* No effect */
saturate(200%) /* Double saturation */
saturate() bewahrt nicht den Farbton oder die Helligkeit
Das folgende Diagramm vergleicht zwei Farbverläufe mit hsl(0 50% 50%) als Mittelpunkt: Der erste wird mit saturate() erzeugt, der zweite verwendet tatsächliche HSL-Farbwerte. Beachten Sie, wie der saturate() Gradient Unterschiede im Farbton und in der Helligkeit zu den beiden Enden zeigt.
<div>
<p>Using <code>saturate()</code></p>
<div id="saturate"></div>
</div>
<div>
<p>Using <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);
}
Spezifikationen
| Specification |
|---|
| Filter Effects Module Level 1> # funcdef-filter-saturate> |
Browser-Kompatibilität
Siehe auch
Die anderen <filter-function> Funktionen, die in den Werten der filter und backdrop-filter Eigenschaften verwendet werden können, sind: