0Pricing
CSS Academy · Leçon

Variables CSS pour les thèmes

Créez un système de thèmes fondé sur des jetons à l’aide de propriétés personnalisées CSS qui basculent entre des valeurs claires et sombres.

Variables CSS pour les thèmes est une leçon CSS Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage CSS Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours CSS Academy comprend 4 leçons au total.

Vue d'ensemble de l'architecture des thèmes

Les propriétés personnalisées CSS constituent le fondement des systèmes de thèmes modernes. Elles agissent comme une couche de jetons dynamique qui peut être remplacée à l'exécution — permettant le mode dark, la personnalisation en marque blanche et la personnalisation contrôlée par l'utilisateur.

Couches de jetons de conception

Un système de thèmes bien structuré comporte trois couches :

  1. Jetons primitifs : valeurs brutes (--blue-500: #3b82f6)
  2. Jetons sémantiques : fondés sur la signification (--color-primary: var(--blue-500))
  3. Jetons de composant : propres au composant (--button-bg: var(--color-primary))

Définition du thème clair

Définissez le thème clair complet sur :root :

<div class="demo">Themed surface<br/><button class="btn">Primary Button</button></div>

Surcharge du thème dark

Remplacez les jetons dans une portée dark (requête de média ou classe) :

<div class="demo">Adapts to dark mode automatically</div>

Utilisation des jetons dans les composants

Les composants utilisent des jetons sémantiques, jamais des valeurs codées en dur :

<div class="card">Card using theme tokens</div>

Surcharge fondée sur une classe

Permettez une surcharge manuelle avec une classe sur <html> :

<div data-theme="dark" class="demo">Dark theme via data-theme</div>
<div data-theme="light" class="demo">Light theme via data-theme</div>

Thématisation au niveau du composant

Un composant peut définir sa propre couche de jetons pour une personnalisation plus poussée :

<div class="card">Component-level theming</div>

Thématisation en marque blanche

Les variables CSS permettent de créer des produits en marque blanche, dans lesquels chaque client obtient un thème différent en remplaçant un petit ensemble de jetons de marque :

<div data-brand="client-a" class="brand-demo">Client A brand color</div>
<div data-brand="client-b" class="brand-demo">Client B brand color</div>

Transition des changements de thème

Des transitions de thème fluides peuvent être obtenues avec une transition CSS appliquée aux propriétés liées aux couleurs :

<div class="demo" id="theme-demo">Themed content</div>
<button onclick="document.documentElement.classList.toggle('theme-transitioning'); const d=document.getElementById('theme-demo'); const dark = d.style.background==='rgb(17, 17, 17)'; d.style.background = dark ? '#fff' : '#111'; d.style.color = dark ? '#111' : '#fff';">Toggle Theme (transitions smoothly)</button>

Documentation des jetons

Documentez vos jetons de conception afin que tous les développeurs sachent quelles variables utiliser. Un composant de guide de styles (comme Storybook) qui affiche tous les jetons avec leurs valeurs clair/dark est extrêmement utile pour les grandes équipes.

Outils pour les jetons : Style Dictionary

Style Dictionary (par Amazon) transforme automatiquement les jetons de conception définis en JSON en propriétés personnalisées CSS, constantes JavaScript et autres formats de plateforme — en gardant les jetons synchronisés entre la conception et le code.

Vérification rapide

Dans une architecture de jetons à deux niveaux, à quel type de jeton un composant .button doit-il faire référence pour sa couleur d'arrière-plan ?

Récapitulatif

Les variables CSS permettent de créer des systèmes de thèmes robustes. Construisez trois couches : les jetons primitifs, les jetons sémantiques et les jetons de composant. Définissez les thèmes comme des surcharges de jetons sur :root, via une requête de média ou un sélecteur d'attribut. Utilisez les jetons sémantiques dans les composants pour hériter automatiquement du thème. Des outils comme Style Dictionary automatisent la distribution des jetons sur différentes plateformes.

Questions Fréquemment Posées

La leçon « Variables CSS pour les thèmes » est-elle gratuite ?

Oui — le texte complet de « Variables CSS pour les thèmes » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours CSS Academy, passe à CoddyKit PRO. Le cours CSS Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Variables CSS pour les thèmes » ?

Créez un système de thèmes fondé sur des jetons à l’aide de propriétés personnalisées CSS qui basculent entre des valeurs claires et sombres. Tu pratiques CSS Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer CSS Academy ?

Aucune expérience préalable n'est requise. CSS Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Variables CSS pour les thèmes » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon CSS Academy ?

Oui. Chaque leçon CSS Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Requête média prefers-color-scheme
  2. Variables CSS pour les thèmes
  3. Propriété color-scheme
  4. Bascule automatique et manuelle du mode sombre
← Retour à CSS Academy