oklch()
The oklch()
functional notation expresses a given color in the Oklch color space. It has the same L axis as oklab()
, but uses polar coordinates C (Chroma) and H (Hue).
Syntax
css
oklch(40.1% 0.123 21.57)
oklch(59.69% 0.156 49.77)
oklch(59.69% 0.156 49.77 / .5)
Values
Functional notation: oklch(L C H[ / A])
L
-
A
<number>
between0
and1
or a<percentage>
between0%
and100%
, where the number0
corresponds to0%
(black) and the number1
corresponds to100%
(white).L
specifies the perceived lightness. C
-
A
<number>
or a<percentage>
, where0%
is0
and100%
is the number0.4
. It is a measure of the chroma (roughly representing the "amount of color"). Its minimum useful value is0
, while the maximum is theoretically unbounded (but in practice does not exceed0.5
). H
-
A
<number>
or an<angle>
representing the hue angle. More details on this type can be found on the<hue>
reference. A
Optional-
An
<alpha-value>
, where the number1
corresponds to100%
(full opacity).
Formal syntax
Examples
Adjusting the lightness, chroma, and hue of a color
The following example shows the effect of varying the L
(lightness), C
(chroma), and H
(hue) values of the oklch()
color function.
HTML
html
<div data-color="blue"></div>
<div data-color="blue-light"></div>
<div data-color="red"></div>
<div data-color="red-chroma"></div>
<div data-color="green"></div>
<div data-color="green-hue"></div>
CSS
css
[data-color="blue"] {
background-color: oklch(60% 0.4 240);
}
[data-color="blue-light"] {
background-color: oklch(90% 0.4 240);
}
[data-color="red"] {
background-color: oklch(100% 0.4 30);
}
[data-color="red-chroma"] {
background-color: oklch(100% 0.3 40);
}
[data-color="green"] {
background-color: oklch(60% 0.57 161);
}
[data-color="green-hue"] {
background-color: oklch(60% 0.57 181);
}
Result
Adjusting the alpha value of a color
The following example shows the effect of varying the A
(alpha) value of the oklch()
color function.
The red
and red-alpha
elements overlap the #background-div
element to demonstrate the effect of opacity.
Giving A
a value of 0.4
makes the color 40% opaque.
HTML
html
<div id="background-div">
<div data-color="red"></div>
<div data-color="red-alpha"></div>
</div>
CSS
css
[data-color="red"] {
background-color: oklch(50% 130 20);
}
[data-color="red-alpha"] {
background-color: oklch(50% 130 20 / 0.4);
}
Result
Specifications
Specification |
---|
CSS Color Module Level 4 # ok-lab |
Browser compatibility
BCD tables only load in the browser
See also
<color>
: For a list of all color notations- A perceptual color space for image processing
- OKLCH in CSS
- Safari Technology Preview 137 release notes: includes
oklch()
andoklab()
colors