このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

oklch()

Baseline 2023
Newly available

Since ⁨May 2023⁩, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

oklch() 関数記法は、指定された色を Oklch 色空間で表現するものです。これは oklab() と同じ L 軸を持っていますが、極座標系の C (彩度)と H (色相)を使用します。

構文

css
oklch(40.1% 0.123 21.57)
oklch(59.69% 0.156 49.77)
oklch(59.69% 0.156 49.77 / .5)

Functional notation: oklch(L C H[ / A])

L

<number>01 の範囲、 <percentage>0%100% の範囲、またはキーワード none であり、 CIE の明るさを指定します。ここで数値 00% (黒)に、数値 1100% (白)に対応します。

C

<number><percentage>、またはキーワード値 none であり、ここで 0%0 に、 100% は数値 0.4 に対応します。これは彩度の指標です(おおよそ「色の量」を表します)。その有効な最小値は 0 で、最大値は理論的には無制限です(しかし実際には 0.5 を超えることはありません)。

H

<number><angle>、またはキーワード値 none であり、色相角を表します。この型の詳細は、 <hue> のリファレンスにあります。

A 省略可

<alpha-value> またはキーワード none です。 1100% (完全に不透明)に対応します。

メモ: none の効果については色成分の欠落を参照してください。

形式文法

<oklch()> = 
oklch( [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <hue> | none ] [ / [ <alpha-value> | none ] ]? )

<hue> =
<number> |
<angle>

<alpha-value> =
<number> |
<percentage>

明度、彩度、色相の調整

次の例は、関数記法 oklch()L(明度)、C(彩度)、H(色相)の値を変化させたときの効果を示しています。

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);
}

結果

色のアルファ値の調整

次の例は lab() 関数記法の A(アルファ)値を変化させたときの効果を示しています。 redred-alpha 要素は #background-div 要素に重なり、透明度の効果を示しています。 A0.4 の値を与えると、色は 40% の不透明度になります。

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% 0.5 20);
}
[data-color="red-alpha"] {
  background-color: oklch(50% 0.5 20 / 0.4);
}

結果

仕様書

Specification
CSS Color Module Level 5
# relative-Oklch
CSS Color Module Level 4
# ok-lab

ブラウザーの互換性

関連情報