Aller au contenu principal

📚 Les couleurs

Maintenant que vous savez comment intégrer du CSS à vos pages, voyons de façon plus précise comment géréer les couleurs.

Formats de couleurs​

Noms de couleurs prédéfinis​

CSS propose plusieurs noms de couleurs prédéfinis. En voici quelques exemples:

.rouge { color: red; }
.bleu { color: blue; }
.vert { color: green; }
.noir { color: black; }
.blanc { color: white; }
.gris { color: gray; }
.orange { color: orange; }
.violet { color: purple; }

Vous pouvez trouver une liste exhaustive ici: https://www.w3.org/wiki/CSS/Properties/color/keywords

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <p class="rouge">Texte rouge</p>
  <p class="bleu">Texte bleu</p>
  <p class="vert">Texte vert</p>
  <p class="orange">Texte orange</p>
  <p class="violet">Texte violet</p>
  <p class="gris">Texte gris</p>
</body>
</html>

Format RGB et RGBA​

Le format RGB spécifie les valeurs Rouge, Vert, Bleu (0-255). RGBA ajoute un canal alpha pour la transparence (0-1).

/* Format RGB */
.rouge-rgb { color: rgb(255, 0, 0); } /* Rouge pur */
.vert-rgb { color: rgb(0, 128, 0); } /* Vert foncé */
.bleu-rgb { color: rgb(0, 0, 255); } /* Bleu pur */

/* Format RGBA avec transparence */
.rouge-transparent { color: rgba(255, 0, 0, 0.5); } /* Rouge 50% transparent */
.vert-transparent { color: rgba(0, 128, 0, 0.7); } /* Vert 30% transparent */
.bleu-transparent { color: rgba(0, 0, 255, 0.3); } /* Bleu 70% transparent */
<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <p class="rouge-rgb">Rouge RGB(255, 0, 0)</p>
  <p class="vert-rgb">Vert RGB(0, 128, 0)</p>
  <p class="bleu-rgb">Bleu RGB(0, 0, 255)</p>
  
  <h3>Avec transparence (RGBA)</h3>
  <p class="rouge-transparent">Rouge avec 50% transparence</p>
  <p class="vert-transparent">Vert avec 30% transparence</p>
  <p class="bleu-transparent">Bleu avec 70% transparence</p>
</body>
</html>

Format hexadécimal​

Le format hexadécimal utilise le symbole # suivi de 6 caractères représentant les valeurs Rouge-Vert-Bleu.

Le système hexadécimal (base 16) utilise:

  • Chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
  • Lettres : A, B, C, D, E, F (équivalent à 10, 11, 12, 13, 14, 15)

Décomposition de couleurs hexadécimales

Voici un exemple de décomposition de différentes couleurs hexadécimales, avec leur équivalent décimal en RGB.

Couleur hexRouge (RR)Vert (GG)Bleu (BB)Équivalent RGB
#FF0000FF = 25500 = 000 = 0rgb(255, 0, 0)
#00FF0000 = 0FF = 25500 = 0rgb(0, 255, 0)
#0000FF00 = 000 = 0FF = 255rgb(0, 0, 255)
#FF8C00FF = 2558C = 14000 = 0rgb(255, 140, 0)
#80808080 = 12880 = 12880 = 128rgb(128, 128, 128)
astuce

Chaque groupe de deux caractères représente un chiffre entre 0 et 255. Le premier groupe de 2 représente l'intensité de la couleur rouge, puis le groupe suivant la couleur vert et finalement la couleur bleue. Il

/* Format long (6 caractères) */
.rouge-hex { color: #FF0000; } /* Rouge pur */
.vert-hex { color: #00FF00; } /* Vert pur */
.bleu-hex { color: #0000FF; } /* Bleu pur */
.gris-hex { color: #808080; } /* Gris moyen */

/* Format court (3 caractères) - équivalent au format long */
.rouge-court { color: #F00; } /* Équivaut à #FF0000 */
.vert-court { color: #0F0; } /* Équivaut à #00FF00 */
.bleu-court { color: #00F; } /* Équivaut à #0000FF */
<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <p class="rouge-hex">Rouge #FF0000</p>
  <p class="vert-hex">Vert #00FF00</p>
  <p class="bleu-hex">Bleu #0000FF</p>
  <p class="violet-hex">Violet #9932CC</p>
  <p class="orange-hex">Orange #FF8C00</p>
  <p class="gris-hex">Gris #808080</p>
</body>
</html>

Propriétés utilisant les couleurs​

Voici les principales propriétés pour contrôler les couleurs de votre contenu.

Couleur du texte (color)​

La propriété color définit la couleur du texte.

.texte-rouge { color: #e74c3c; }
.texte-bleu { color: rgb(52, 152, 219); }

Couleur de fond (background-color)​

La propriété background-color définit la couleur d'arrière-plan d'un élément.

body { background-color: #333333; }
.fond-jaune { background-color: #f1c40f; }
.fond-rouge { background-color: rgba(231, 76, 60, 0.8); }
.fond-vert { background-color: hsl(141, 71%, 48%); }
<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <div class="exemple-1">
      <p>Texte blanc sur fond bleu</p>
  </div>
  
  <div class="exemple-2">
      <p>Texte bleu foncé sur fond jaune</p>
  </div>
  
  <div class="exemple-3">
      <p>Texte blanc sur fond vert semi-transparent</p>
  </div>
  
  <div class="exemple-4">
      <p class="texte-rouge">Texte rouge sur fond gris clair</p>
  </div>
</body>
</html>

Couleur d'arrière-plan de la page​

Il est fréquent d'utiliser background-color sur le body de la page pour changer la couleur d'arrière-plan de la page entière. Pour cela, il suffit de:

body {
background-color: #cacaca;
}
<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <p>La couleur de fond de la apge a été changée pour du gris (#cacaca).</p>
</body>
</html>

Couleur des bordures (border-color)​

Les bordures peuvent avoir des couleurs spécifiques pour chaque côté.

On définit une bordure avec la syntaxe border: [largeur] [type] [couleur];.

Par exemple:

.bordure-rouge { border: 2px solid #e74c3c; }
.bordure-multiple {
border-top: 3px solid red;
border-right: 3px solid blue;
border-bottom: 3px solid green;
border-left: 3px solid orange;
}

Autres propriétés utilisant les couleurs​

/* Couleur du soulignement */
.souligne-rouge {
text-decoration: underline;
text-decoration-color: #e74c3c;
}

/* Couleur de l'ombre */
.ombre-coloree {
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
box-shadow: 0 4px 8px rgba(52, 152, 219, 0.3);
}

/* Couleur du contour */
.contour-bleu {
outline: 2px solid #3498db;
}
<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <div class="bordure-simple">
      <p>Bordure rouge simple</p>
  </div>
  
  <div class="bordure-multiple">
      <p>Bordures multicolores</p>
  </div>
  
  <p class="souligne-rouge">Texte avec soulignement rouge</p>
  
  <div class="ombre-coloree">
      <p>Boîte avec ombre bleue</p>
  </div>
</body>
</html>

Palettes de couleurs​

Il est important d'avoir une palette de couleurs cohérente pour votre site web. Une bonne palette contient généralement:

  • 1-2 couleurs principales à tonalité modérée (pas de rouge éclatant, par exemple)
  • 1-2 couleurs d'accent (des couleurs qui "ressortent)
  • Quelques nuances de gris pour les textes, arrière-plans ou éléments d'interface secondaires

Outil recommandé pour générer des palettes​

L'outil Coolors.co est excellent pour générer des palettes de couleur!

palette

Couleurs monochromatiques​

Une palette monochromatique utilise différentes nuances d'une même couleur.

/* Palette bleue monochromatique */
.bleu-tres-clair { color: hsl(220, 50%, 90%); }
.bleu-clair { color: hsl(220, 50%, 70%); }
.bleu-moyen { color: hsl(220, 50%, 50%); }
.bleu-fonce { color: hsl(220, 50%, 30%); }
.bleu-tres-fonce { color: hsl(220, 50%, 10%); }
<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <h3>Palette monochromatique</h3>
  <div class="couleur bleu-1">Très clair</div>
  <div class="couleur bleu-2">Clair</div>
  <div class="couleur bleu-3">Moyen</div>
  <div class="couleur bleu-4">Foncé</div>
  <div class="couleur bleu-5">Très foncé</div>
</body>
</html>

Couleurs complémentaires​

Les couleurs complémentaires créent un contraste élevé et sont visuellement attrayantes ensemble.

/* Exemples de couleurs complémentaires */
.bleu-complementaire { color: hsl(220, 100%, 50%); } /* Bleu */
.orange-complementaire { color: hsl(40, 100%, 50%); } /* Orange */

.rouge-complementaire { color: hsl(0, 100%, 50%); } /* Rouge */
.cyan-complementaire { color: hsl(180, 100%, 50%); } /* Cyan */
<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <h3>Couleurs complémentaires</h3>
  <div class="couleur comp-1">Bleu</div>
  <div class="couleur comp-2">Orange</div>
  <div class="couleur comp-3">Rouge</div>
  <div class="couleur comp-4">Cyan</div>
</body>
</html>

Transparence et opacité​

Propriété opacity​

La propriété opacity affecte la transparence de tout l'élément et ses enfants.

.transparent-50 { opacity: 0.5; }    /* 50% transparent */
.transparent-25 { opacity: 0.25; } /* 75% transparent */
.opaque { opacity: 1; } /* Complètement opaque (défaut) */
.invisible { opacity: 0; } /* Complètement transparent */

Transparence avec rgba​

Pour une transparence sélective, utilisez rgba() sur des propriétés spécifiques.

/* Fond transparent, texte opaque */
.fond-transparent {
background-color: rgba(52, 152, 219, 0.3);
color: rgb(44, 62, 80);
}

/* Texte transparent, fond opaque */
.texte-transparent {
background-color: rgb(241, 196, 15);
color: rgba(44, 62, 80, 0.6);
}
<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <div class="fond-image">
      <div class="boite opacity-100">
          <p>Opacité 100%</p>
      </div>
      
      <div class="boite opacity-50">
          <p>Opacité 50%</p>
      </div>
      
      <div class="boite opacity-25">
          <p>Opacité 25%</p>
      </div>
  </div>
  
  <div class="fond-transparent">
      <p>Fond transparent, texte opaque</p>
  </div>
  
  <div class="texte-transparent">
      <p>Fond opaque, texte semi-transparent</p>
  </div>
</body>
</html>