🎨

color-mix()

2つの色を比率で混合し動的カラー生成

デザインシステムでメインカラーの様々なバリエーション(hover状態、disabled状態など)を作る際、各色値を手動で指定するのは煩雑です。color-mix(in srgb, color1, color2 percentage)を使えば、2つの色を任意の比率で混合した新しい色をCSSで直接生成できます。

CSSカスタムプロパティと組み合わせれば、1つのブランドカラーから色システム全体を動的に派生させることができます。

適用方法

1

color-mix(in srgb, color1, color2 percentage)の形式で記述する

2

CSSカスタムプロパティに基本色を定義する

3

hover、active、disabled状態別の色をcolor-mixで派生する

4

様々な色空間(srgb、oklchなど)を実験して最適な混合結果を見つける

メリット

  • 1つの基本色から様々なバリエーションを動的に生成できる
  • opacityと異なり背景との混合なしで正確な色を得られる

デメリット

  • 混合結果が色空間により異なり予測が難しい場合がある
  • デザインツール(Figmaなど)の色と正確に一致しない場合がある

ユースケース

ブランドカラー1つでUI全体のカラーパレットを自動生成 透明度の代わりにcolor-mixで背景色との自然なブレンディング実装

参考資料