11 Punkte von GN⁺ 2025-08-26 | Noch keine Kommentare. | Auf WhatsApp teilen
  • OKLCH ist ein modernes Farbmodell, das auf die menschliche visuelle Wahrnehmung abgestimmt ist und die Eigenschaft besitzt, dass Änderungen bei Helligkeit, Sättigung und Farbton zwischen Farben gleichmäßig wahrgenommen werden; es ist also ein wahrnehmungsuniformes Farbmodell
  • Es besteht aus Lightness (Helligkeit), Chroma (Sättigung) und Hue (Farbton) und ermöglicht im Vergleich zu älteren Modellen die Erstellung konsistenter Farbpaletten
  • Wenn bei gleicher Helligkeit und Sättigung nur der Hue-Wert geändert wird, lassen sich gleichmäßige Farbpaletten erzeugen, was für UI-Design vorteilhaft ist
  • Gegenüber sRGB/HSL bietet es vorhersehbare Helligkeitsänderungen und gleichmäßige Verläufe, in manchen Fällen können jedoch unbeabsichtigte Farben entstehen
  • Auf modernen Displays wie Display-P3 ist eine noch breitere Farbdarstellung möglich; unterstützt wird es in modernen Browsern über CSS Color 4, inklusive sRGB-Fallback, und es etabliert sich zunehmend als Webstandard

Einführung in das OKLCH-Farbmodell

  • OKLCH ist ein modernes Farbmodell, das mit dem Ziel der wahrnehmungsbezogenen Uniformität (perceptually uniform) entwickelt wurde
  • Das Modell arbeitet näher an der tatsächlichen menschlichen Farbwahrnehmung, wodurch der Umgang mit Farben in digitalem Design und der Frontend-Entwicklung deutlich einfacher wird

Grundkonzepte von Farbmodellen

  • Ein Farbmodell ist ein System, mit dem Farben mathematisch definiert und dargestellt werden
  • Häufig verwendete Modelle sind zum Beispiel: RGB, HSL, LCH, OKLCH, LAB, XYZ
  • Jedes Modell bestimmt, wie einfach sich Farben darstellen und bearbeiten lassen

Beispiele für Farbangaben

  • oklch(0.55 0.18 260)
  • hsl(220 100% 50%)
  • rgb(0, 128, 255)
  • lch(60% 60 260)
  • lab(50 -10 -50)
  • color(xyz 0.18 0.19 0.6)
  • #1E90FF

Gamut (Farbraumumfang)

  • Gamut bezeichnet den gesamten Farbbereich, den ein Farbmodell darstellen kann
  • Typische Gamuts sind: sRGB (Webstandard), Display-P3 (Unterstützung auf modernen Geräten)
  • Ein Farbraum besitzt neben dem Gamut-Bereich auch weitere Eigenschaften wie White Point und Transfer Function

Aufbau von OKLCH

OKLCH und LCH bestehen beide aus drei Werten: Lightness, Chroma, Hue
OKLCH basiert auf dem Farbraum OKLab

  • Lightness (Helligkeit): angegeben als 0–1 oder 0 %–100 %, garantiert eine gleichmäßige Veränderung der Helligkeit
  • Chroma (Sättigung): die Intensität der Farbe, ähnlich der Saturation (Sättigung) in HSL
  • Hue (Farbton): Darstellung des Farbtons als Winkel von 0 bis 360 Grad

Vorteile und Einsatz von OKLCH

  • Konsistente Helligkeit

    • Wenn in OKLCH Farben mit gleicher Helligkeit und gleichem Chroma, aber unterschiedlichem Hue definiert werden, wirken alle Farben ähnlich hell
    • Bei herkömmlichem sRGB oder HSL können Helligkeit und Sättigung je nach Farbe inkonsistent erscheinen
    • Deshalb eignet sich OKLCH besonders gut für die Erstellung wahrnehmungsuniformer Farbpaletten
  • Vorhersehbare Helligkeitsstufen

    • In OKLCH lassen sich durch Änderung der Helligkeit verschiedene Farbstufen erzeugen, ohne dass sich Hue (Farbton) oder Chroma (Sättigung) verändern
    • Bei HSL und ähnlichen Modellen tritt beim Ändern der Helligkeit häufig ein Drift des Farbtons auf
    • Mit OKLCH lassen sich daher allein über die Helligkeitsanpassung konsistente Helligkeitsabstufungen erzeugen
  • Umgang mit Verläufen (Gradients)

    • In sRGB werden Rot-, Grün- und Blauwerte interpoliert, wodurch Zwischenstufen matt wirken oder starke Helligkeitssprünge entstehen können
    • OKLCH interpoliert entlang der Achsen Lightness, Chroma und Hue, wodurch natürlichere Verläufe möglich sind
    • Da der Hue-Wert eine kreisförmige Struktur hat, können dabei jedoch unerwartete Farbverschiebungen auftreten
    • Um das zu vermeiden, kann mit linearer Interpolation in OKLab ein besser vorhersagbares Ergebnis erzielt werden

Unterstützung von Farbräumen

  • sRGB deckt einen Teil des breiten Farbraums moderner Displays nicht ab
  • Mit OKLCH lassen sich auf Geräten mit breiten Farbräumen wie Display-P3 lebendigere Farben darstellen
  • Auf Geräten, die nur sRGB unterstützen, werden die Farben auf möglichst ähnliche Farben abgebildet

Maximaler Chroma-Wert

  • Mit OKLCH lassen sich mathematisch auch Farben definieren, die außerhalb des tatsächlich darstellbaren Bereichs eines Bildschirms liegen
  • Ein zu großer Chroma-Wert wie etwa oklch(0.7 0.4 40) kann zum Beispiel nicht real angezeigt werden und wird daher auf eine nahe liegende Farbe geclippt
  • Es ist wichtig, das Konzept des maximalen Chroma-Werts zu verstehen und je nach Farbton, Helligkeit und gewähltem Farbraum (sRGB, Display-P3) passende Werte zu setzen

Browser-Unterstützung und Fallback

  • OKLCH-Farben wurden mit dem CSS Color Module Level 4 eingeführt und werden von den meisten modernen Browsern unterstützt
  • In älteren Browsern werden sie eventuell nicht unterstützt; mit der CSS-Direktive @supports lassen sich Fallback-Werte definieren
    @layer base {  
      :root {  
        /* sRGB hex */  
        --color-gray-100: #fcfcfc;  
        --color-gray-200: #fafafa;  
        --color-gray-300: #f4f4f4;  
    
        @supports (color: oklch(0 0 0)) {  
          /* OKLCH */  
          --color-gray-100: oklch(0.991 0 0);  
          --color-gray-200: oklch(0.982 0 0);  
          --color-gray-300: oklch(0.955 0 0);  
        }  
      }  
    }  
    
  • In unterstützten Browsern wird OKLCH verwendet, in nicht unterstützten Browsern sRGB-Farbe (hex)

Das Tool oklch.fyi

  • oklch.fyi ist ein Web-Tool, das Funktionen rund um OKLCH wie das Erzeugen von OKLCH-Farbpaletten oder die Umwandlung in CSS-Variablen bereitstellt
  • Es erleichtert den Einsatz von OKLCH-Farben in Design-Systemen, Themes und ähnlichen Projekten

Noch keine Kommentare.

Noch keine Kommentare.