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 super-saturiert oder entsättigt das Eingabebild. Ihr Ergebnis ist eine <filter-function>
.
Note:
saturate()
ist als Matrixoperation auf der RGB-Farbe spezifiziert. Sie konvertiert die Farbe nicht tatsächlich in das HSL-Modell, was eine nicht-lineare Operation ist. Daher kann sie die Farbton- oder Helligkeitswerte der Originalfarbe nicht beibehalten.
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
amount
Optional-
Die Menge der Umwandlung, angegeben als
<number>
oder<percentage>
. Ein Wert unter100%
entsättigt das Bild, während ein Wert über100%
es super-saturiert. Ein Wert von0%
ist komplett entsättigt, während ein Wert von100%
die Eingabe unverändert lässt. Der initiale Wert für Interpolierung ist1
. Der Standardwert ist1
.
Formale Syntax
Beispiele
Beispiele für korrekte Werte für saturate()
saturate(0) /* Completely unsaturated */
saturate(.4) /* 40% saturated */
saturate() /* No effect */
saturate(100%) /* No effect */
saturate(200%) /* Double saturation */
saturate() bewahrt Farbton oder Helligkeit nicht
Das folgende Diagramm vergleicht zwei Farbspektren mit hsl(0 50% 50%)
als Mittelpunkt: das erste Spektrum wird unter Verwendung von saturate()
erstellt und das zweite benutzt tatsächliche HSL-Farbwerte. Beachten Sie, wie das saturate()
-Spektrum Unterschiede im Farbton und in der Helligkeit zu den beiden Enden hin 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, umfassen: