ソフトウェア
中級

CSS Relative Color Syntax(シーエスエスリラティブカラーシンタックス)

2024年Baseline Newly available。color-mix()上位+rgb(from base r g b)+oklch(from var(--color) l c h)構文+色操作CSS Native+darken/lighten Sass代替。

0 回閲覧
0 いいね
2026/5/5 更新
関連タグ
CSS
Relative Color
color-mix
OKLCH
Color Space

概要

CSS Relative Color Syntaxは2024年に主要ブラウザで安定対応(Baseline Newly available)した新CSS仕様で、既存の色を起点として色変換・色操作を行う構文。Sassのlighten()/darken()/mix()といった色操作関数のCSS Native版で、JavaScript・Sass・PostCSSなしで色のシステムを構築できる。rgb(from var(--color) r g b / 0.5) で透明度変更、oklch(from var(--brand) calc(l + 0.1) c h) で明度+10%等、すべて純CSSで宣言的に記述可能。OKLCH/OKLab色空間に対応し、知覚的に均一な色変換が可能(従来のHSLやRGBより色の歪みが少ない)。Tailwind CSS 4.0は2024年12月にRelative Color Syntaxを採用し、ユーティリティクラスでの色変換を効率化。Chrome 119+/Firefox 120+/Safari 16.4+で対応済みで、2026年5月時点では Production採用に十分な状況。

主な特徴・仕組み

  • rgb(from base r g b / a): ベース色からR/G/Bチャンネル個別操作、透明度設定
  • hsl(from base h s l): HSL色空間での操作、明度・彩度の細かい調整
  • oklch(from base l c h): OKLCH色空間、知覚的に均一な変換(Sassより自然)
  • oklab(from base l a b): OKLab色空間、Lab* に近いが知覚均一性向上
  • lch/lab from: 旧来のCIE LCH/LAB色空間、専門的色管理用途
  • calc()併用: oklch(from var(--brand) calc(l + 0.1) c h) で動的計算
  • color-mix()と併用: color-mix()+Relative Colorで複合的な色生成
  • CSS Custom Properties統合: var(--brand) を起点に色派生、Design Token構築
  • Performance: Native実装、Sass前処理不要+ブラウザGPU処理
  • Browser Support: Chrome 119+ Edge 119+ Firefox 120+ Safari 16.4+(全Baseline)
  • MDN Browser Compatibility: 2024年安定確定、Baseline Newly availableマーク

スペック比較表

項目CSS Relative ColorCSS color-mix()Sass darken/lightenTailwindCSS 4
実装CSS NativeCSS NativeSass前処理CSS Native(Relative Color活用)
色空間RGB/HSL/OKLCH/OKLab/LCH/LAB任意RGB/HSLOKLCH(by default)
知覚均一性OKLCH ○ / RGB △色空間依存△ HSL限定OKLCH ○
Bundle Size0KB0KB前処理(Build時)Native活用
Browser SupportChrome 119+ Baseline全ブラウザ Baseline前処理Chrome 119+
Dynamic○ Custom Properties連携○× (Build時固定)○
Design Token○ Native○○ Sass変数○ Tailwind tokens
学習曲線CSS知識CSS知識Sass知識Tailwindクラス

具体例・対応製品

:root {
  --brand: oklch(70% 0.15 250);
}

/* 透明度50%バリアント */
.button-translucent {
  background: rgb(from var(--brand) r g b / 0.5);
}

/* 10%明度アップ(hover state) */
.button:hover {
  background: oklch(from var(--brand) calc(l + 0.1) c h);
}

/* 暗い影(boxShadow) */
.card {
  box-shadow: 0 4px 8px oklch(from var(--brand) calc(l - 0.3) c h / 0.3);
}

/* 補色生成 */
.complementary {
  background: oklch(from var(--brand) l c calc(h + 180));
}
  • Chrome 119+: 2023年10月リリース、stable動作
  • Firefox 120+: 2023年11月リリース、stable動作
  • Safari 16.4+: 2023年3月リリース、stable動作
  • Tailwind CSS 4.0: 2024年12月Relative Color Syntax採用、bg-[oklch(from_var(--brand)_l_c_h)] 記法
  • 競合機種: CSS color-mix()(2024年Baseline)、Sass(前処理)、PostCSS Color Plugin、Open Props

自作PCでの選び方・注意点

CSS Relative Color SyntaxはWeb開発者向けの新CSS仕様で、自作PCとは直接関係しないが、jisaku.comのデザインシステム構築では重要な技術。Tailwind CSS 4.0(jisaku.com採用済み)はRelative Color Syntaxを内部で活用しており、bg-brand-500/50のような透明度バリアントが Native CSSで実装される。Bundle Size削減(Sass前処理不要)+Runtime動的色変更(JavaScript からCustom Property変更で全色派生も自動更新)が主なメリット。OKLCH色空間採用で、Brand Color → Hover/Active/Disabledのバリアント生成が知覚的に均一になり、デザインシステムの一貫性が向上する。jisaku.com Design System(Tailwind CSS 4 ベース)では --color-brand: oklch(70% 0.15 250) を起点に、oklch(from var(--color-brand) calc(l + 0.1) c h) でHover state生成等の運用が標準化されている。Sassからの移行でDevelopment Build時間が10-30%短縮、Production Bundle Size が 5-10KB削減。Chrome/Firefox/Safari全Baseline対応で、Production採用にBlockerなし。Edge Cases として、Internet Explorer・Opera Mini等の古ブラウザは非対応だが、jisaku.comユーザー層では問題なし。

関連用語との違い

color-mix()との違い: color-mix()は2色の混合(color-mix(in oklch, red 50%, blue))、Relative Colorは1色を起点とした変換(oklch(from red l c h))。両者組合せで複雑な色操作可能。color-mix()は2色間補間、Relative Colorはチャンネル単位操作で役割が異なる。 Sass darken/lighten/mix()との違い: Sassは前処理(Build時に色固定)、Relative ColorはCSS Native(Runtime動的変更可能)。Sassは古いブラウザ対応で安心、Relative ColorはBundle削減+Runtime柔軟性で優位。

よくある質問(FAQ)

Q1: なぜOKLCHを使うべき? A: 従来のHSL/RGBは知覚的に不均一(明度を10%上げてもチャンネルにより変化量が異なる)、OKLCHは知覚均一(明度+10%なら全色で同じ印象)。Brand Color のHover/Active states が自然に派生し、デザインシステムの一貫性が向上する。

Q2: TailwindCSS 4でどう活用される? A: Tailwind 4は内部でoklch(from var(--color-X) ...) 構文を使い、bg-brand-500/50のような透明度ユーティリティをRelative Color Syntaxで実装。text-brand-700 のようなトーンバリアントも同様。Sass非依存+Pure CSS Build。

Q3: Internet Explorer 11対応は? A: IE 11は完全非対応(EOL済み)。jisaku.comはIE非サポートのため問題なし。Microsoft Edge Chromium(2020年以降)はIE後継で完全対応、Edge 119+で動作する。レガシー環境ではPostCSS Pluginで前処理して通常CSS化が代替策。

まとめ

  • CSS Relative Color Syntax = 2024年Baseline Newly available
  • rgb(from base r g b)/oklch(from base l c h)構文で色変換
  • OKLCH対応で知覚的に均一な色操作、Sass darken/lighten代替
  • Tailwind CSS 4.0公式採用、Chrome 119+/Firefox 120+/Safari 16.4+
  • Sass前処理不要、Bundle削減+Runtime動的色変更可能
この記事について
カテゴリーソフトウェア
難易度中級
作成日2026/5/5