React Academy · Lezione

Token in Tailwind, variabili CSS e CSS-in-JS

Integri i token generati nella configurazione di Tailwind, nelle proprietà personalizzate CSS e nei temi di Emotion o styled-components.

Lezione 3 di 413 passaggi

Token in Tailwind, variabili CSS e CSS-in-JS è una lezione React Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento React Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso React Academy include 4 lezioni in totale.

Output delle proprietà personalizzate CSS

L'output della piattaforma CSS di Style Dictionary genera un file di proprietà personalizzate CSS: --color-primary-500: #3b82f6; --spacing-4: 16px; e così via. Queste variabili sono definite su :root, quindi sono disponibili globalmente. Questa è la base per l'utilizzo di tutti i token nell'applicazione.

Importazione globale dei token

Importi il file CSS dei token generato nel foglio di stile globale o nel componente di layout radice: @import './tokens/tokens.css'. In Next.js, lo importi in app/layout.tsx o in styles/globals.css. Una volta importato, ogni regola CSS e ogni componente dell'applicazione può fare riferimento alle proprietà personalizzate.

Utilizzo dei token in CSS

Faccia riferimento alle variabili CSS nei fogli di stile dei componenti o nei CSS Modules: background-color: var(--color-primary-500); e padding: var(--spacing-4);. Se il valore del token cambia nella sorgente JSON, la ricostruzione di Style Dictionary aggiorna il file CSS e tutti i componenti che usano quella variabile riflettono automaticamente il nuovo valore.

Tematizzazione a runtime con variabili CSS

Le proprietà personalizzate CSS consentono di cambiare tema a runtime. Per la modalità scura, sovrascriva i valori dei token sotto un selettore del tema: [data-theme="dark"] { --color-background: #1a1a2a; --color-text: #f0f0f0; }. Impostando document.documentElement.setAttribute('data-theme', 'dark') si cambiano istantaneamente tutti i valori dei token, senza ricaricare né ricostruire l'applicazione.

Estensione della configurazione di Tailwind

Estenda il tema di Tailwind in tailwind.config.js per usare i valori dei token: theme: { extend: { colors: { primary: { 500: tokenOutput.color.primary[500] } } } }. Importi l'output JS di Style Dictionary nella configurazione di Tailwind, così le classi Tailwind (bg-primary-500) usano sempre i valori di riferimento dei token.

Tailwind con valori da variabili CSS

Per i temi commutabili a runtime in Tailwind, configuri il colore in modo che faccia riferimento a una variabile CSS: 'primary': 'rgb(var(--color-primary-rgb) / <alpha-value>)'. È necessario che la variabile CSS contenga i componenti RGB senza il wrapper rgb() (--color-primary-rgb: 59 130 246). Tailwind gestirà quindi automaticamente le utility per l'opacità.

Integrazione con Emotion e Styled-Components

Le librerie CSS-in-JS utilizzano un oggetto tema in JavaScript. Passi l'output JS di Style Dictionary come valore del provider del tema: <ThemeProvider theme={tokens}>. I componenti accedono ai token tramite const theme = useTheme() e theme.color.primary[500]. Style Dictionary genera l'oggetto tipizzato dei token; il provider del tema lo distribuisce.

Imporre l'uso dei token con regole di linting

Il plugin stylelint-no-hardcoded-colors e le regole ESLint personalizzate possono imporre che nei fogli di stile o nei file dei componenti non compaiano valori esadecimali scritti direttamente. Se uno sviluppatore scrive color: #3b82f6 invece di color: var(--color-primary-500), il linter lo segnala. In questo modo il sistema di token rimane l'unica fonte dei colori.

Safelist di Tailwind per i token dinamici

Quando i nomi delle classi Tailwind vengono costruiti dinamicamente a partire dai nomi dei token a runtime, il purge di Tailwind potrebbe rimuovere tali classi, perché non compaiono come stringhe statiche nel codice sorgente. Aggiunga i pattern delle classi dinamiche alla safelist in tailwind.config.js: safelist: [{ pattern: /bg-primary-/ }].

Flusso di lavoro del plugin Figma Tokens

Il plugin Figma Tokens esporta direttamente i valori dei token di Figma nel formato JSON di Style Dictionary. Il flusso di lavoro è il seguente: i designer aggiornano i colori in Figma Variables, li esportano tramite il plugin, eseguono il commit del JSON aggiornato, lo script di prebuild esegue Style Dictionary e gli output CSS e JS aggiornati vengono utilizzati nell'app React. Design e codice restano sincronizzati.

Override dei token con ambito

Le proprietà personalizzate CSS hanno come ambito l'elemento su cui sono definite e i relativi discendenti. Questo consente di applicare override del tema a livello di componente: un componente card può impostare --color-background: var(--color-surface-elevated) sul proprio elemento radice e tutti i discendenti useranno il colore della superficie rialzata senza ricorrere al prop drilling.

Proprietà personalizzate CSS o Tailwind per i token

Qual è il vantaggio principale dell'utilizzo delle proprietà personalizzate CSS (variabili) per i token di design rispetto ai valori statici di Tailwind?

Riepilogo della lezione

Style Dictionary genera proprietà personalizzate CSS da importare globalmente e oggetti JS per l'integrazione con Tailwind e CSS-in-JS. Le variabili CSS consentono di cambiare tema a runtime tramite override [data-theme]. Tailwind estende la propria configurazione con i valori dei token provenienti dall'output JS; per una tematizzazione che supporti l'opacità, configuri Tailwind affinché faccia riferimento a variabili CSS RGB. Le regole di linting impongono l'uso esclusivo dei token per i colori, mantenendo i valori hardcoded fuori dal codebase.

Gratis per iniziare

Impara React con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
88
Lezioni
324

Domande Frequenti

La lezione «Token in Tailwind, variabili CSS e CSS-in-JS» è gratuita?

Sì — il testo completo di «Token in Tailwind, variabili CSS e CSS-in-JS» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso React Academy, passa a CoddyKit PRO. Il corso React Academy include 4 lezioni in totale.

Cosa imparerò in «Token in Tailwind, variabili CSS e CSS-in-JS»?

Integri i token generati nella configurazione di Tailwind, nelle proprietà personalizzate CSS e nei temi di Emotion o styled-components. Eserciti React Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare React Academy?

Non è richiesta alcuna esperienza precedente. React Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Token in Tailwind, variabili CSS e CSS-in-JS»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione React Academy?

Sì. Ogni lezione React Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Cosa sono i design token e perché sono importanti
  2. Style Dictionary: trasformazione e generazione dei token
  3. Token in Tailwind, variabili CSS e CSS-in-JS
  4. Architettura dei token per più temi e brand
← Torna a React Academy