Faire son site 11 : Référence CSS - Les couleurs

<color>

Le type de données CSS <color> permet de représenter des couleurs dans l'espace de couleurs sRGB. Une couleur pourra être décrite de trois façons : En plus de la couleur exprimée dans l'espace RGB, une valeur <color> contient également un canal alpha qui décrit la transparence de l'image et donc la façon dont cette image se compose avec son arrière-plan. C'est le a de rgba() et de de hsla().

Les mots-clés

Certains mots-clés ont la même valeur:
aquacyan#00ffff
fuchsiamagenta#ff00ff
darkgraydarkgrey#a9a9a9
darkslategraydarkslategrey#2f4f4f
dimgraydimgrey#696969
lightgraylightgrey#d3d3d3
lightslategraylightslategrey#778899
graygrey#808080
slategrayslategrey#708090

Liste complète des couleurs

black#000000
silver#c0c0c0
gray#808080
white#ffffff
maroon#800000
red#ff0000
purple#800080
fushia#ff00ff
green#008000
lime#00ff00
olive#808000
yellow#ffff00
navy#000080
blue#0000ff
teal#008080
aqua#00ffff
orange#ffa500
aliceblue#f0f8ff
antiquewhite#faebd7
aquamarine#7fffda
azure#f0ffff
beige#f5f5dc
bisque#ffe4c4
blanchedalmond#ffebcd
blueviolet#8a2be2
brown#a52a2a
burlywood#deb887
cadetblue#5f9ea0
chartreuse#7fff00
chocolate#d2691e
coral#ff7f50
cornflowerblue#6495ed
cornsilk#fff8dc
crimson#dc143c
cyan#00ffff
darkblue#00008b
darkcyan#008b8b
darkgoldenrod#b8860b
darkgray#a9a9a9
darkgreen#006400
darkgrey#a9a9a9
darkkhaki#bdb76b
darkmagenta#8b008b
darkolivegreen#556b2f
darkorange#ff8c00
darkorchid#9932cc
darkred#8b0000
darksalmon#e9967a
darkseagreen#8fbc8f
darkslateblue#483d8b
darkslategray#2f4f4f
darkslategrey#2f4f4f
darkturquoise#00ced1
darkviolet#9400d3
deeppink#ff1493
deepskyblue#00bfff
dimgray#696969
dimgrey#696969
dodgerblue#1e90ff
firebrick#b22222
floralwhite#fffaf0
forestgreen#228b22
gainsboro#dcdcdc
ghostwhite#f8f8ff
gold#ffd700
goldenrod#daa520
greenyellow#adff2f
grey#808080
honeydew#f0fff0
hotpink#ff69b4
indianred#cd5c5c
indigo#4b0082
ivory#fffff0
khaki#f0e68c
lavender#e6e6fa
lavenderblush#fff0f5
lawngreen#7cfc00
lemonchiffon#fffacd
lightblue#add8e6
lightcoral#f08080
lightcyan#e0ffff
lightgoldenrodyellow#fafad2
lightgray#d3d3d3
lightgreen#90ee90
lightgrey#d3d3d3
lightpink#ffb6c1
lightsalmon#ffa07a
lightseagreen#20b2aa
lightskyblue#87cefa
lightslategray#778899
lightslategrey#778899
lightsteelblue#b0c4de
lightyellow#ffffe0
limegreen#32cd32
linen#faf0e6
magenta#ff00ff
mediumaquamarine#66cdaa
mediumblue#0000cd
mediumorchid#ba55d3
mediumpurple#9370db
mediumseagreen#3cb371
mediumslateblue#7b68ee
mediumspringgreen#00fa9a
mediumturquoise#48d1cc
mediumvioletred#c71585
midnightblue#191970
mintcream#f5fffa
mistyrose#ffe4e1
moccasin#ffe4b5
navajowhite#ffdead
oldlace#fdf5e6
olivedrab#6b8e23
orangered#ff4500
orchid#da70d6
palegoldenrod#eee8aa
palegreen#98fb98
paleturquoise#afeeee
palevioletred#db7093
papayawhip#ffefd5
peachpuff#ffdab9
peru#cd853f
pink#ffc0cb
plum#dda0dd
powderblue#b0e0e6
rosybrown#bc8f8f
royalblue#4169e1
saddlebrown#8b4513
salmon#fa8072
sandybrown#f4a460
seagreen#2e8b57
seashell#fff5ee
sienna#a0522d
skyblue#87ceeb
slateblue#6a5acd
slategray#708090
slategrey#708090
snow#fffafa
springgreen#00ff7f
steelblue#4682b4
tan#d2b48c
thistle#d8bfd8
tommato#ff6347
turquoise#40e0d0
violet#ee82ee
whitesmoke#f5f5f5
yellowgreen#9acd32
rebeccapurple#663399

Le mot-clé "transparent"

Le mot-clé transparent représente une couleur totalement transparente (autrement dit, la couleur qui sera vue sera la couleur située en arrière-plan). D'un point de vue technique, il s'agit d'un noir pur avec un canal alpha minimal : rgba(0,0,0,0). Dans l'exemple qui suit, la carré intérieur à une couleur de fond transparente ce qui fait que celle-ci apparait de la même couleur que celle de son parent.


<style> #fond {
  width: 200px;
  height: 150px;
  background-color: palegreen;
  padding: 20px;
}
#carre {
  width: 80px;
  height: 80px;
  background-color: transparent;
 border: 1px solid black;
}
</style>

<div id="fond">
  <div id="carre"></div>
</div>



Le mot-clé "currentcolor"

Le mot-clé currentcolor représente la valeur calculée de la propriété color pour l'élément. Il permet aux propriétés de couleur d'hériter de la valeur de l'élément parent même si, par défaut, celles-ci n'utilisent pas l'héritage.


<style>
#cadre {
  width: 300px;
  height: 120px;
  background-color: cyan;
  color: red;
}
#texte1 {
  background-color: yellow;
  color: blue;
}
#texte2 {
  background-color: red;
  color: currentcolor;
}
</style>

<div id="cadre">
  <div id="texte1">On voit le texte</div>
  <div id="texte2">On ne voit pas le texte</div>
</div>


On voit le texte
On ne voit pas le texte

Le modèle rgb()

Les couleurs peuvent être définies de deux façons via le modèle RGB (rouge-vert-bleu ou Red-Green-Blue en anglais) :

En notation hexadécimale : En notation fonctionnelle rgb(R,G,B) :

"rgb", suivi de trois valeurs soit en nombres entiers (0~255) soit en pourcentages (0%~100%). 255 = 100% = FF. Il n'est pas possible de mélanger des entiers et des pourcentages. rgb(128, 128, 128) = rgb(50%, 50%, 50%) = #808080 = gray = grey.

background-color: rgb(128, 128, 128);
background-color: rgb(50%, 50%, 50%);
background-color: #808080;
background-color: gray;
background-color: grey;

Le modèle hsl()

Les couleurs peuvent être définies selon le modèle HSL Hue-Saturation-Lightness (teinte, saturation, luminosité). HSL est considéré comme plus intuitif que RGB car on peut ajuster les couleurs au fur et à mesure ou créer des palettes de couleurs plus simplement par exemple en conservant la même teinte et en faisant varier la saturation et/ou la luminosité.

La teinte (hue) est représentée comme un angle sur le cercle des couleurs. L'angle est exprimé comme un nombre (un entier entre 0 et 360) sans unité. Par définition, le rouge correspond à 0 et à 360 et les autres couleurs évoluent sur le cercle. Vert correspond à 120 et bleu à 240. La valeur se comporte comme un angle et tournera en boucle avec une même mesure de couleur qui peut avoir différentes valeurs (par exemple -120 sera équivalent à 240 et 480 sera équivalent à 120).

La saturation (saturation) et la luminosité (lightness) sont représentées par des pourcentages.
- Pour la saturation, avec 100% l'image sera complètement saturée et avec 0%, l'image sera en nuances de gris.
- Pour la luminosité, 100% correspondra à du blanc et 0% à du noir. 50% agira comme une luminosité dite normale.

background-color: hsl(0, 100%, 50%);
background-color: hsl(30, 100%, 50%);
background-color: hsl(60, 100%, 50%);
background-color: hsl(90, 100%, 50%);
background-color: hsl(120, 100%, 50%);
background-color: hsl(150, 100%, 50%);
background-color: hsl(180, 100%, 50%);
background-color: hsl(210, 100%, 50%);
background-color: hsl(240, 100%, 50%);
background-color: hsl(270, 100%, 50%);
background-color: hsl(300, 100%, 50%);
background-color: hsl(330, 100%, 50%);
background-color: hsl(360, 100%, 50%);

RGBa(R, G, B, a) & HSLa(H, S, L, a)

Les fonctions rgba() et hsla() sont identiues aux fonctions rgb() et hsl() à la différence qu'elles ajoutent à ces dernières une quatrième valeur "a" (canal alpha ou couche alpha) qui permet de définir l'opacité de la couleur. Cette valeur peut être un nombre décimal compris entre 0 et 1 ou bien un pourcentage. Avec une valeur de 0 ou 0%, la couleur sera transparente tandis qu'une valeur de 1 ou 100% rendra la couleur totalement opaque. Par exemple une valeur de 0.4 sera équivalente à 40%.

rgba(128, 128, 128, 0.4);
rgba(128, 128, 128, 40%);


0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%