Aller au contenu principal

15-1 Utiliser les variables CSS

Dans cette activité, nous allons apprendre à utiliser les variables CSS pour gérer les couleurs de façon cohérente et maintenable.

attention

Utilisez le projet de départ pour cette activité.

Observer les couleurs répétées

Regardez attentivement le CSS et trouvez les couleurs qui se répètent :

  • #0099ff est utilisé 2 fois: bordure des cartes + badges
  • #ffa500 est utilisé 2 fois: titres des cartes (h3) + footer
  • #cccccc est utilisé 2 fois: paragraphe du header + descriptions
Problème!

Si vous voulez changer le bleu #0099ff pour une autre couleur, vous devez le changer à 2 endroits. Et si vous avez 10 endroits? C'est long et risqué d'oublier un endroit!

Définir des variables CSS

Les variables CSS permettent de définir une valeur UNE SEULE FOIS et de la réutiliser partout.

Créons des variables pour ces trois couleurs répétitives:

  • couleur principale (le bleu)
  • couleur d'accent (le orange)
  • couleur pour le texte pâle
  1. Ajoutez le sélecteur root au début de votre fichier CSS.
    :root {

    }
  2. Définissez les variables selon le format suivant:
    :root {
    --couleur-principale: #0099ff;
    --couleur-accent: #ffa500;
    --couleur-texte-pale: #cccccc;
    }
info

Les variables CSS commencent toujours par deux tirets (--) et sont déclarées dans un sélecteur.

:root est le sélecteur le plus courant pour déclarer des variables globales. Il cible l'élément racine du document (généralement <html>).

Utiliser les variables

Maintenant, remplacez les couleurs répétées par les variables avec var():

.carte-nyan {
background-color: #0a2540;
border: 2px solid var(--couleur-principale);
border-radius: 8px;
padding: 20px;
text-align: center;
}

header p {
color: var(--couleur-texte-pale);
font-size: 16px;
}

.carte-nyan h3 {
color: var(--couleur-accent);
margin: 0 0 8px 0;
font-size: 20px;
}

.description {
color: var(--couleur-texte-pale);
font-size: 14px;
margin-bottom: 12px;
}

.badge {
display: inline-block;
background-color: var(--couleur-principale);
color: white;
padding: 4px 12px;
border-radius: 12px;
font-size: 12px;
font-weight: bold;
}

footer {
text-align: center;
margin-top: 40px;
color: var(--couleur-accent);
font-size: 14px;
}

Tester la puissance des variables

Maintenant, amusez-vous à changer seulement les valeurs dans :root :

:root {
--couleur-principale: #9933ff; /* Violet au lieu de bleu */
--couleur-accent: #ff6b6b; /* Rouge/rose au lieu d'orange */
--couleur-texte-pale: #cccccc;
}

Les bordures, les badges, les titres et le footer changent automatiquement! 🎉

Code CSS final avec variables

:root {
--couleur-principale: #0099ff;
--couleur-accent: #ffa500;
--couleur-texte-pale: #cccccc;
}

body {
background-color: #001a33;
color: #ffffff;
font-family: Arial, sans-serif;
margin: 0;
padding: 20px;
}

header {
text-align: center;
margin-bottom: 40px;
}

h1 {
color: #ff6b6b;
font-size: 48px;
margin-bottom: 8px;
}

header p {
color: var(--couleur-texte-pale);
font-size: 16px;
}

.grille-nyan {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
max-width: 800px;
margin: 0 auto;
}

.carte-nyan {
background-color: #0a2540;
border: 2px solid var(--couleur-principale);
border-radius: 8px;
padding: 20px;
text-align: center;
}

.image-nyan {
width: 150px;
height: 150px;
object-fit: contain;
margin-bottom: 16px;
}

.carte-nyan h3 {
color: var(--couleur-accent);
margin: 0 0 8px 0;
font-size: 20px;
}

.description {
color: var(--couleur-texte-pale);
font-size: 14px;
margin-bottom: 12px;
}

.badge {
display: inline-block;
background-color: var(--couleur-principale);
color: white;
padding: 4px 12px;
border-radius: 12px;
font-size: 12px;
font-weight: bold;
}

footer {
text-align: center;
margin-top: 40px;
color: var(--couleur-accent);
font-size: 14px;
}