Tokens i Tailwind, CSS-variabler og CSS-in-JS
Integrer genererte tokens i Tailwind-konfigurasjon, egendefinerte CSS-egenskaper og Emotion- eller styled-components-temaer.
Tokens i Tailwind, CSS-variabler og CSS-in-JS er en gratis leksjon i React Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i React Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i React Academy inneholder totalt 4 leksjoner.
Resultat for CSS-variabler
Style Dictionarys CSS-plattformresultat genererer en fil med egendefinerte CSS-egenskaper: --color-primary-500: #3b82f6; --spacing-4: 16px; og så videre. Disse variablene defineres på :root, slik at de blir tilgjengelige globalt. Dette er grunnlaget for all bruk av tokens i applikasjonen.
Importere tokens globalt
Importer den genererte CSS-tokenfilen i det globale stilarket eller i rotlayoutkomponenten: @import './tokens/tokens.css'. I Next.js importeres den i app/layout.tsx eller styles/globals.css. Når filen er importert, kan alle CSS-regler og komponenter i applikasjonen referere til CSS-variablene.
Bruke tokens i CSS
Referer til CSS-variabler i komponentstilark eller CSS Modules: background-color: var(--color-primary-500); og padding: var(--spacing-4);. Hvis tokenverdien endres i JSON-kilden, oppdaterer en ny bygging med Style Dictionary CSS-filen, og alle komponenter som bruker variabelen, gjenspeiler automatisk den nye verdien.
Temabytte ved kjøring med CSS-variabler
CSS-variabler muliggjør bytte av tema under kjøring. For mørk modus kan tokenverdier overstyres under en temavelger: [data-theme="dark"] { --color-background: #1a1a2a; --color-text: #f0f0f0; }. Når document.documentElement.setAttribute('data-theme', 'dark') angis, byttes alle tokenverdiene umiddelbart uten omlasting eller ny bygging.
Utvidelse av Tailwind-konfigurasjonen
Utvid temaet i Tailwind i tailwind.config.js for å bruke tokenverdier: theme: { extend: { colors: { primary: { 500: tokenOutput.color.primary[500] } } } }. Importer JS-resultatet fra Style Dictionary i Tailwind-konfigurasjonen for å sikre at Tailwind-klassene (bg-primary-500) alltid bruker de autoritative tokenverdiene.
Tailwind med CSS-variabelverdier
For temaer som kan byttes under kjøring i Tailwind konfigureres fargen til å referere til en CSS-variabel: 'primary': 'rgb(var(--color-primary-rgb) / <alpha-value>)'. Dette krever at CSS-variabelen lagrer RGB-komponentene uten rgb()-omslaget (--color-primary-rgb: 59 130 246). Tailwind håndterer deretter verktøyklassene for gjennomsiktighet automatisk.
Integrasjon med Emotion og Styled-Components
CSS-in-JS-biblioteker bruker et JavaScript-temaobjekt. Send JS-resultatet fra Style Dictionary som verdien til theme provider: <ThemeProvider theme={tokens}>. Komponenter får tilgang til tokens via const theme = useTheme() og theme.color.primary[500]. Style Dictionary genererer det typede tokenobjektet, og theme provider distribuerer det.
Håndheve bruk av tokens med lint-regler
Programtillegget stylelint-no-hardcoded-colors og tilpassede ESLint-regler kan håndheve at ingen hardkodede heksadesimalverdier forekommer i stilark eller komponentfiler. Hvis en utvikler skriver color: #3b82f6 i stedet for color: var(--color-primary-500), rapporterer linteren dette. Dermed forblir tokensystemet den eneste fargekilden.
Tailwind-safelist for dynamiske tokens
Når Tailwind-klassenavn bygges dynamisk fra tokennavn under kjøring, kan Tailwinds purge fjerne klassene fordi de ikke forekommer som statiske strenger i kildekoden. Legg til mønstre for dynamiske klassenavn i safelist i tailwind.config.js: safelist: [{ pattern: /bg-primary-/ }].
Arbeidsflyt for Figma Tokens-pluginen
Figma Tokens-pluginen eksporterer Figma-tokenverdier direkte til Style Dictionarys JSON-format. Arbeidsflyten er slik: Designere oppdaterer farger i Figma Variables, eksporterer via programtillegget, legger den oppdaterte JSON-filen inn i versjonskontroll, prebuild-skriptet kjører Style Dictionary, og de oppdaterte CSS- og JS-resultatene brukes i React-appen. Design og kode holdes synkronisert.
Lokale overstyringer av tokens
CSS-variabler er avgrenset til elementet de defineres på, og til elementets etterkommere. Dette gjør overstyring av temaer på komponentnivå mulig: En kortkomponent kan angi --color-background: var(--color-surface-elevated) på rotelementet sitt, og alle etterkommere bruker den hevede overflatefargen uten prop drilling.
CSS-variabler kontra Tailwind for tokens
Hva er den viktigste fordelen ved å bruke CSS-variabler for designtokens i stedet for statiske Tailwind-verdier?
Oppsummering av leksjonen
Style Dictionary genererer CSS-variabler for global import og JavaScript-objekter for integrasjon med Tailwind og CSS-in-JS. CSS-variabler muliggjør bytte av tema under kjøring gjennom overstyringer med [data-theme]. Tailwind utvider konfigurasjonen med tokenverdier fra JS-resultatet. For temabytte med støtte for gjennomsiktighet konfigureres Tailwind til å referere til RGB-CSS-variabler. Lint-regler håndhever at bare tokens brukes til farger, slik at hardkodede verdier holdes ute av kodebasen.
Lær deg React med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 88
- Leksjoner
- 324
Ofte stilte spørsmål
Er leksjonen «Tokens i Tailwind, CSS-variabler og CSS-in-JS» gratis?
Ja – hele teksten i «Tokens i Tailwind, CSS-variabler og CSS-in-JS» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av React Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i React Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Tokens i Tailwind, CSS-variabler og CSS-in-JS»?
Integrer genererte tokens i Tailwind-konfigurasjon, egendefinerte CSS-egenskaper og Emotion- eller styled-components-temaer. Du øver på React Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med React Academy?
Ingen tidligere erfaring er nødvendig. React Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.
Hvor lang tid tar leksjonen «Tokens i Tailwind, CSS-variabler og CSS-in-JS»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne React Academy-leksjonen?
Ja. Alle React Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Hva er designtoken, og hvorfor er de viktige
- Style Dictionary: Transformering og generering av token
- Tokens i Tailwind, CSS-variabler og CSS-in-JS
- Tokenarkitektur for flere temaer og merkevarer