Retour aux articles
CSS Color Level 5 est maintenant baseline dans tous les navigateurs majeurs
WebDev20 juillet 20262 min de lecture1 vue

CSS Color Level 5 est maintenant baseline dans tous les navigateurs majeurs

oklch(), color-mix(), relative colors, color() : CSS Color Level 5 est officiellement Baseline 2026. Chrome, Firefox, Safari et Edge supportent tous les nouvelles fonctions couleur. Fini les hacks hex/rgb pour les palettes dynamiques.

CSS Color Level 5 vient d'atteindre le statut Baseline 2026 : Chrome, Firefox, Safari et Edge supportent désormais toutes les nouvelles fonctions couleur sans flags ni préfixes. C'est une évolution discrète mais profonde de la façon dont on gère les couleurs en CSS, et ça résout des problèmes que les développeurs contournaient depuis des années.

oklch() : la fonction couleur que vous devriez utiliser

oklch() est une fonction couleur basée sur l'espace colorimétrique OKLCH, perceptuellement uniforme. Contrairement à hsl() ou rgb(), modifier la luminosité dans oklch() produit des résultats perceptuellement cohérents : 70% de luminosité dans oklch est visuellement la même "luminosité" quelle que soit la teinte.

/* hsl : modifier la luminosité change la perception de la saturation */
.button-hsl {
  background: hsl(240deg 50% 50%); /* bleu medium */
  hover: hsl(240deg 50% 60%);       /* bleu clair, mais... bizarre */
}

/* oklch : perceptuellement prévisible */
.button-oklch {
  background: oklch(0.5 0.2 240); /* Luminosité 50%, Chroma 0.2, Hue 240° */
  hover: oklch(0.65 0.2 240);     /* +15% luminosité, exactement */
}

shadcn/ui a basculé vers oklch pour toutes ses variables CSS dans sa version 2.0. Tailwind CSS 4 utilise oklch nativement pour sa palette.

color-mix() : mélanger les couleurs sans JavaScript

color-mix() permet de mélanger deux couleurs directement en CSS, dans n'importe quel espace colorimétrique :

:root {
  --primary: oklch(0.6 0.25 240);
  --primary-light: color-mix(in oklch, var(--primary) 70%, white);
  --primary-dark: color-mix(in oklch, var(--primary) 70%, black);
  --primary-muted: color-mix(in oklch, var(--primary) 30%, transparent);
}

En une variable de base, vous générez toute une palette cohérente. Plus besoin de JavaScript ou de preprocesseur pour calculer des variantes.

Les relative colors : modifier une couleur à la volée

La syntaxe de couleur relative permet de modifier les composantes d'une couleur existante :

/* Rendre une couleur 20% plus lumineuse */
.accent {
  --base: oklch(0.5 0.2 200);
  color: oklch(from var(--base) calc(l + 0.2) c h);
}

Cet article a été partiellement rédigé ou modifié à l'aide d'une intelligence artificielle.