Les bases du CSS
Syntaxe, sélecteurs, modèle de boîte
Ouvrir le cours
Découvrez la puissance des CSS custom properties pour créer des designs dynamiques, des thèmes adaptatifs et une architecture CSS maintenable.
Une couleur écrite trois fois se corrige trois fois. Une variable se corrige une seule.
css
/* Duplication partout */
.btn-primary {
background: #3b82f6;
}
.link {
color: #3b82f6;
}
.border-accent {
border-color: #3b82f6;
}
css
/* Source unique */
:root {
--primary: #3b82f6;
}
.btn-primary {
background: var(--primary);
}
.link {
color: var(--primary);
}
js
/* Changement dynamique */
document.documentElement
.style.setProperty(
'--primary',
'#10b981'
);
Deux règles suffisent : on déclare avec deux tirets, on lit avec var().
css
/* Variables globales */
:root {
--primary-color: #3b82f6;
--spacing-lg: 2rem;
--border-radius: 8px;
}
/* Variables locales */
.card {
--card-padding: 1.5rem;
}
css
/* Application des variables */
.button {
background: var(--primary-color);
padding: var(--spacing-lg);
border-radius: var(--border-radius);
}
/* Avec fallback */
.text {
color: var(--text-color, #333);
}
--demo-color
--demo-size
--demo-radius
Aperçu en temps réel
CSS actuel
Les trois variables agissent sur la même boîte : c’est la source unique qui rend le changement instantané.
css
/* Hiérarchie des variables */
:root {
--size: 16px;
}
.container {
--size: 20px; /* Override */
}
.container .child {
font-size: var(--size); /* = 20px */
}
Un jeu de variables par thème, et toute la page suit. C’est le cas d’usage qui a fait adopter les custom properties.
css
/* Variables de thème */
:root {
--bg-color: #ffffff;
--text-color: #1f2937;
}
[data-theme="dark"] {
--bg-color: #111827;
--text-color: #f9fafb;
}
body {
background: var(--bg-color);
color: var(--text-color);
}
thème
Cette bascule est celle de la DÉMONSTRATION : elle ne touche pas au thème du site, qui a son propre bouton dans la barre du haut.
Cinq thèmes, trois variables chacun : le bouton pose les trois d’un coup, et tout ce qui en dépend suit.
thème de couleur
Un seul bouton pose trois variables. C’est la leçon : une source unique en entraîne plusieurs.
Les custom properties sont lisibles et modifiables depuis JavaScript, sans recompiler quoi que ce soit.
js
/* Lire une variable */
const color = getComputedStyle(
document.documentElement
).getPropertyValue('--primary-color');
/* Modifier une variable */
document.documentElement
.style.setProperty(
'--primary-color',
'#10b981'
);
/* Supprimer une variable */
document.documentElement
.style.removeProperty('--primary-color');
--animation-duration
--animation-duration: ;
La variable pilote la transition. Survolez la boîte : la durée change sans qu’une seule règle CSS soit réécrite.
Permettre aux utilisateurs de personnaliser l’interface selon leurs préférences.
js
/* Sauvegarde des préférences */
localStorage.setItem(
'theme', 'dark'
);
Créer des graphiques et animations basés sur des données.
js
/* Animation de données */
element.style.setProperty(
'--progress', data + '%'
);
Tester différentes variations de design en temps réel.
js
/* Test de variantes */
if (variant === 'A') {
setPrimaryColor('blue');
}
Trois exercices progressifs, du design system à l’application complète.
Créez un design system complet avec les variables CSS.
css
:root {
/* Couleurs de base */
--blue-500: #3b82f6;
--green-500: #10b981;
/* Tokens sémantiques */
--primary: var(--blue-500);
--secondary: var(--green-500);
/* Espacement */
--space-1: 0.25rem;
--space-2: 0.5rem;
}
Commencez par définir vos tokens primitifs (couleurs brutes, tailles), puis créez des tokens sémantiques qui leur font référence (primary, secondary, etc.).
Créez un système d’animations contrôlé par JavaScript.
css
:root {
--anim-duration: 0.3s;
--anim-easing: ease;
--hover-scale: 1.1;
}
.animated {
transition: all var(--anim-duration) var(--anim-easing);
}
.animated:hover {
transform: scale(var(--hover-scale));
}
Construisez une page produit thématisable.
Implémentez un système de thèmes saisonniers qui change automatiquement selon la date (printemps = vert, été = jaune, automne = orange, hiver = bleu).
Vous avez maintenant toutes les clés pour créer des designs dynamiques et maintenables. Les variables CSS révolutionnent la façon dont nous écrivons et organisons notre CSS.
Source unique de vérité pour tous vos styles
Changements CSS natifs, pas de recompilation
API JavaScript pour contrôle temps réel
Syntaxe, sélecteurs, modèle de boîte
Ouvrir le coursContainer queries, transforms 3D
Ouvrir le coursS’adapter à chaque écran
Ouvrir le coursMettre en mouvement
Ouvrir le cours