Widely available 安全に使用可能。カラーパレットの動的生成やホバーエフェクトの色調整に非常に便利。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
111
111
113
16.2
111
16.2
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)

基本構文

CSS
/* Basic blending (sRGB) */
.mixed {
  color: color-mix(in srgb, #ff0000, #0000ff);
}

/* Specify percentage */
.light-brand {
  background: color-mix(in oklch, var(--brand) 80%, white);
}

/* Adjusting transparency */
.faded {
  color: color-mix(in srgb, var(--text-color) 60%, transparent);
}

/* Adjusting brightness on hover */
.button:hover {
  background: color-mix(in oklch, var(--btn-bg) 85%, black);
}

ライブデモ

2color. blend

color-mix() function 2color. blend demo.

プレビュー全画面表示

white mixbright

color-mix() function white mixbright demo.

プレビュー全画面表示

opacity. adjust

color-mix() function opacity. adjust demo.

プレビュー全画面表示

実務での使いどころ

  • テーマカラーからの派生色生成

    ブランドカラー1色から、hover 用の暗い色や disabled 用の薄い色を動的に生成できる。

  • 透明度の代替手段

    rgba() の代わりに color-mix で transparent と混合し、背景が透けない半透明色を作れる。

注意点

  • 混合する色空間によって結果の色が異なる。oklch での混合が知覚的に最も自然な結果を生む。
  • 割合の合計が 100% を超える場合は正規化されるが、意図しない結果になることがある。

アクセシビリティ

  • 動的に生成された色のコントラスト比が十分であるか、代表的なパターンで検証すること。