docs.rodeo

MDN Web Docs mirror

saturate()

{{CSSRef}} 

The saturate() CSS function super-saturates or desaturates the input image. Its result is a {{cssxref("<filter-function>")}} .

Note: saturate() is specified as a matrix operation on the RGB color. It does not actually convert the color to the HSL model, which is a non-linear operation. Therefore, it may not preserve the hue or lightness of the original color.

{{EmbedInteractiveExample("pages/css/function-saturate.html")}} 

Syntax

saturate(amount)

Parameters

Formal syntax

{{CSSSyntax}} 

Examples

Examples of correct values for saturate()

saturate(0)     /* Completely unsaturated */
saturate(.4)    /* 40% saturated */
saturate(100%)  /* No effect */
saturate(200%)  /* Double saturation */

saturate() does not preserve hue or lightness

The diagram below compares two color gradients with hsl(0 50% 50%) as the mid-point: the first is generated using saturate(), and the second uses actual HSL color values. Note how the saturate() gradient shows differences in hue and lightness towards the two ends.

<div>
  <p>Using <code>saturate()</code></p>
  <div id="saturate"></div>
</div>
<div>
  <p>Using <code>hsl()</code></p>
  <div id="hsl"></div>
</div>
#saturate,
#hsl {
  display: flex;
  margin: 1em 0;
}

#saturate div,
#hsl div {
  width: 2px;
  height: 100px;
}
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);
}

{{EmbedLiveSample('saturate_does_not_preserve_hue_or_lightness','100%','350')}} 

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

See also

The other {{cssxref("&lt;filter-function&gt;")}}  functions available to be used in values of the {{cssxref("filter")}}  and {{cssxref("backdrop-filter")}}  properties include:

In this article

View on MDN