Codes couleurs pour HTML/CSS

LE HTML permet de colorer les textes avec color et les fonds avec background, suivis d’une formule de la composition de la couleur. Celle-ci peut se faire de différentes manières, le plus souvent en se basant sur la composition additive des lumières fondamentales : le rouge, vert et bleu (RVB) avec 255 pour valeur maximale (#FF en notation hexadécimale).
2025.01.24 – canal alpha et hsl() ajoutés

1. rgb() ― 2. hexadécimal ― 3. hsl() ― 4. noms

Le graphique suivant offre les compositions possibles avec les lumières fondamentale (synthèse additive utilisée dans en vidéo) :

1. rgb()

Au centre de ces trois taches se trouve le blanc, au maximum des trois lumières. Il se code rgb(255,255,255). Le jaune est la résultante des deux lumières fondamentales rouge et vert rgb(255,255,0), le magenta se code rgb(255,0,255) et le cyan (bleu clair) rgb(0,255,255). Cest trois couleurs, appelées primaires, sont utilisées en imprimerie. La synthèse est soustractive : l'addition des trois donne le noir. Comme la dernière encre domine toujours, on ajoute une encre noire : on parle alors de quadrichromie.

Pour des nombres inféreurs à 255, les teintes paraîtront plus sombres. Les 256 nuances (de 0 à 255) par lumière fondamentale permettent 2563, soit 16 777 216 nuances.

rgb(255,255,255) peut également s’écrire rgb(100%,100%,100%), mais il n’est pas possible de mélanger les deux façons dans une même formule rgb(). Exemple :

<p style="color:rgb(150,0,0); background:rgb(100%,100%,50%)">
RVB en nombres entiers

RVB en nombres entiers

<span style="color:rgb(0%,0%,50%); background:rgb(255,128,255)">
RVB en pourcentages

RVB en pourcentages

Il est possible d'ajouter un canal alpha, c'est-à-dire une valeur entre la transparence (0) et la couverture totale (1) ou l'équivalent en pourcentage.

<p style="color:rgb(0,0,128,70%); background:rgb(100%,50%,100%,0.4)">
RVB avec canal alpha

RVB avec canal alpha

Cette technique a un intérêt lorsque des couleurs se superposent.

2. Hexadécimal

Il est possible de simplifier l’écriture de la formule en utilisant une notation hexadécimale de six «chiffres» : les deux premiers représentent la proportion de rouge, les deux suivants le vert, et les deux derniers le bleu.

L’ensemble de chiffres doit être précédé du croisillon #, les seize valeurs sont codées de 0 à 9 et de A à F pour 10 à 15.

<p style="color:#B00040; background:#FFEEC7">
RVB en notation hexadécimale

RVB en notation hexadécimale

Le canal alpha consiste en l'ajout de deux «chiffres» hexadécimaux après les canaux RVB :

<p style="color:#B0004080; background:#FFEEC7">
Notation hexadécimale avec canal alpha

Notation hexadécimale avec canal alpha

Il est possible de réduire la définition en 3 chiffres hexadécimaux, avec seulement 4096 nuances de couleur (163) :

<p style="color:#080; background:#FEC">
Notation hexadécimale réduite

Notation hexadécimale réduite

Le canal alpha est alors réduit à seul quatrième chiffre :

<p style="color:#080A; background:#FEC">
Notation réduite avec canal alpha

Notation réduite avec canal alpha

Notes :

3. hsl()

Une façon alternative est d’utiliser la roue des couleurs, la saturation et la luminosité avec une formule hsl(60 56% 65%), le premier nombre définissant l’angle dans la roue des couleurs, le deuxième la saturation et le troisième la luminosité :

La luminosité de la couronne extérieure est à 70% (plus claire), la deuxième à 50% (saturation maximale), l'intérieure est de 30% (plus sombre) ; la luminosité à 0% de n'importe quelle couleur est le noir.

t 30 60 90 120 150 180 210 240 270 300 330 0

<p style="color:hsl(60,100%,50%); background:hsl(240,100%,75%)">Notation HSL

Notation HSL

Il est possible d'ajouter un canal Alpha, c'est-à-dire un degré de transparence, avec 0 pour la transparence totale (ce qui peut avoir son utilité) et 1 qui couvre entièrement le fond:

<p style="color:hsl(60,100%,50%,0.5); background:hsl(240,100%,75%)">Notation HSL (alpha 0.5)

Notation HSL (alpha 0.5)

4. Noms

Il est possible d’utiliser certains noms pour coder les couleurs. Pour obtenir du texte magenta :

<span style="color:magenta">texte</span>

Voici un tableau des noms officiels :

aliceblue antiquewhite aqua aquamarine azure
beige bisque black blanchedalmond blue
blueviolet brown burlywood cadetblue chartreuse
chocolate coral cornflowerblue cornsilk crimson
cyan darkblue darkcyan darkgoldenrod darkgray
darkgreen darkkhaki darkmagenta darkolivegreen darkorange
darkorchid darkred darksalmon darkseagreen darkslateblue
darkslategray darkturquoise darkviolet deeppink deepskyblue
dimgray dodgerblue firebrick floralwhite forestgreen
fuchsia gainsboro ghostwhite gold goldenrod
gray green greenyellow honeydew hotpink
indianred indigo ivory khaki lavender
lavenderblush lawngreen lemonchiffon lightblue lightcoral
lightcyan lightgoldenrodyellow lightgreen lightgrey lightpink
lightsalmon lightseagreen lightskyblue lightslategray lightsteelblue
lightyellow lime limegreen linen magenta
maroon mediumaquamarine mediumblue mediumorchid mediumpurple
mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred
midnightblue mintcream mistyrose moccasin navajowhite
navy oldlace olive olivedrab orange
orangered orchid palegoldenrod palegreen paleturquoise
palevioletred papayawhip peachpuff peru pink
plum powderblue purple red rosybrown
royalblue saddlebrown salmon sandybrown seagreen
seashell sienna silver skyblue slateblue
slategray snow springgreen steelblue tan
teal thistle tomato turquoise violet
wheat white whitesmoke yellow yellowgreen

Les couleurs suivantes ne sont pas garanties et dépendent de votre navigateur - Firefox et Chromium les reconnaissent. Chaque couleur est doublée de son équivalent en code hexadécimal, qui sera lu par tous les navigateurs en mode graphique. Vous noterez que ces codes n’utilisent que les lettres du nom de la couleur :
 
brass cadet cornflower cyclamen feldspar
#b0a000 #cade00 #c0f0e0 #c00ae0 #fed0a0
flesh grass indian meadow scarlet
#f0e000 #00a000 #00d0a0 #0ead00 #ca0e00
slate summer
#00a0e0 #0000e0