CSSの知っておくと便利な実装テクニック! 相対カラー構文を使用して、1つのカラーに対して濃く薄くを簡単に設定できます

異なるカラーを濃くしたり薄くしたりするとき、個別にカラーを設定してもできますが、CSSの相対カラー構文(color: rgb(from green r g b);)を使用すると簡単に実装できます。

下記はそれぞれ元のカラーに対して相対カラー構文1つでそのカラーを濃くしたり薄くしたりしています。1つのカラーに対して複数の濃さが必要な場合に便利です。

相対カラー構文を使用して、1つのカラーに対して濃く薄くを簡単に設定できます

CSSの相対カラー構文とは

CSSの相対カラー(CSS Relative colors)構文を使用すると、他のカラーのパラメータを変更してカラーを定義できます。相対カラー構文は設定した色を相対色に変換します。変換には、fromキーワードを使用します。ブラウザはベースのカラーを変換して分解し、新しいカラーの定義で使用する変数として使用できます。

サポートブラウザは、Chorme 119+, Edge 119+, Safari 16.4+, Opera 106+です。
参考: Can I Use

CSSの相対カラー構文のデモ

デモページで実際の動作をご覧ください。右上からダークモードとライトモードを切り替えられます。

See the Pen
Theming with CSS color functions
by coliss (@coliss)
on CodePen.

HTMLは、下記の通り。

CSSは、相対カラー構文(color: rgb(from green r g b);)でカラーを変換します。fromキーワードでベースのカラーを変数で設定し、どのように変換するかを設定します。変換する値にはr g b, h, s, l, l c hなどの色空間だけでなく、r g b / alphaの不透明度やcalc()で入力値と同じにならないように出力することもできます。

前述したように、Firefoxはこの相対カラー構文をサポートしていません。その代わりにcolor-mix()で同じような動作を得ることができるとのことです。

元ネタは、下記ポストより。

sponsors

top of page

©2024 coliss