Tailwind CSS Academy · leksjon

Teamkonvensjoner og stilguide

Definer en stilguide for teamet med regler for klasserekkefølge, komponentnavn, når @apply skal brukes, og hvordan enkeltstående arbitrære verdier skal håndteres konsekvent.

Leksjon 4 av 413 trinn

Teamkonvensjoner og stilguide er en gratis leksjon i Tailwind CSS Academy på CoddyKit. Dette er leksjon 4 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 Tailwind CSS Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Tailwind CSS Academy inneholder totalt 4 leksjoner.

Hvorfor team trenger en Tailwind-stilguide

Uten avtalte konvensjoner blir Tailwind-prosjekter gradvis inkonsistente. Én utvikler skriver p-4 overalt, mens en annen bruker px-4 py-4. Én bruker @apply flittig, mens en annen unngår det fullstendig. En stilguide for teamet dokumenterer beslutningene teamet har tatt, slik at alle skriver Tailwind på samme måte. Det gjør kodegjennomganger raskere og kodebasen enklere å vedlikeholde.

Definere konvensjoner for klasserekkefølge

Selv om Prettier-programtillegget håndhever rekkefølgen automatisk, bør stilguiden dokumentere hvorfor den kanoniske rekkefølgen brukes, og hvordan den ser ut, slik at utviklerne forstår den i stedet for å følge den blindt. Ta med grupperekkefølgen – layout, størrelser, avstand, typografi, visuelt og interaktivt – slik at teammedlemmene kan forutsi hvor en klasse hører hjemme.

<!-- Canonical order groups -->
<div class="
  flex items-center gap-4    /* Layout */
  w-full max-w-md            /* Sizing */
  p-6 mx-auto                /* Spacing */
  text-sm font-medium        /* Typography */
  bg-white rounded-lg shadow /* Visual */
  hover:shadow-md transition  /* Interactive */
">

Når bør @apply brukes?

Et vanlig stridstema er når utilities skal trekkes ut med @apply. Definer en tydelig regel: Bruk for eksempel @apply bare når et mønster gjentas mer enn tre ganger på tvers av ulike komponenter OG ikke kan løses med en delt JSX- eller template-komponent. Dette hindrer for tidlig abstraksjon, samtidig som reell duplisering fanges opp.

/* ALLOWED: repeated button pattern with no JSX component possible */
.btn-primary {
  @apply rounded-lg bg-blue-600 px-4 py-2 text-sm font-semibold text-white hover:bg-blue-700;
}

/* DISCOURAGED: abstracting a one-off layout that appears only once */
.hero-section {
  @apply flex min-h-screen flex-col items-center justify-center bg-gray-50;
}

Konvensjoner for vilkårlige verdier

Tailwinds hakeparentesnotasjon, som w-[347px], er kraftig, men kan føre til en overflod av magiske tall som er vanskelige å vedlikeholde. Stilguiden bør kreve at vilkårlige verdier begrunnes i en kommentar, og at verdier som forekommer mer enn én gang, i stedet legges til i temaets extend-blokk som et navngitt token.

<!-- DISCOURAGED: unexplained magic number -->
<div class="h-[347px]">

<!-- BETTER: explain the constraint with a comment -->
<!-- Height matches the sidebar for visual alignment -->
<div class="h-[347px]">

<!-- BEST: promote to a named token in the config -->
<!-- tailwind.config.js: extend.height: { sidebar: '347px' } -->
<div class="h-sidebar">

Styring av safelisten

Hver oppføring i safelist øker kostnaden for hvert bygg. Stilguiden bør kreve at safelistede klasser har en kommentar som forklarer hvorfor de ikke kan oppdages statisk. Opprett en plan for gjennomgang av safelisten – for eksempel kvartalsvis – for å fjerne oppføringer for funksjoner som er fjernet eller refaktorert.

// tailwind.config.js
module.exports = {
  safelist: [
    // REASON: color comes from CMS content, cannot be statically detected
    // REVIEW DATE: 2026-Q3
    { pattern: /bg-(red|green|blue|yellow)-(100|500)/ },

    // REASON: toast severity classes set by JS at runtime
    'border-red-500',
    'border-green-500',
  ],
};

Konvensjoner for komponentnavn

Hvis prosjektet bruker @apply til å opprette komponentklasser, bør dere etablere en navnekonvensjon. BEM-inspirerte navn som .btn-primary og .card-body er et vanlig valg. Dokumenter hvilket navnemønster teamet bruker, og sørg for at egendefinerte komponentklasser aldri kommer i konflikt med Tailwinds egne utility-navn.

/* Naming convention: {component}-{variant} */
.btn { @apply rounded-lg px-4 py-2 font-semibold; }
.btn-primary { @apply btn bg-blue-600 text-white hover:bg-blue-700; }
.btn-outline { @apply btn border border-blue-600 text-blue-600 hover:bg-blue-50; }

.card { @apply rounded-xl bg-white shadow; }
.card-header { @apply border-b border-gray-100 p-4 font-semibold; }
.card-body { @apply p-4; }

Konvensjoner for responsive prefikser

Dokumenter hvordan teamet håndterer responsivt design. Vanlige konvensjoner er alltid mobile first (basestiler er for mobil, mens prefikser legger til atferd for større skjermer), å bruke bare et utvalg av bruddpunktene (for eksempel bare md og lg) og aldri å bruke et prefiks uten også å definere basistilfellet, slik at stilene arves riktig.

<!-- GOOD: mobile-first base, then larger breakpoints -->
<div class="flex-col gap-4 md:flex-row md:gap-6 lg:gap-8">

<!-- CONFUSING: responsive prefix without a base style -->
<div class="md:flex-row">
<!-- What displays on mobile? The browser's UA default — unpredictable -->

Konvensjoner for mørk modus

Velg og dokumenter én strategi for mørk modus i hele prosjektet – enten klassestrategien eller mediestrategien – og bland dem aldri. Angi hvilke elementer som alltid trenger en variant for mørk modus (bakgrunner, tekst og kantlinjer), og hvilke som kan arve. Ta med en sjekkliste for å kontrollere at nye komponenter har full støtte for mørk modus før de merges.

/* Documented decision: we use class strategy */
/* tailwind.config.js: darkMode: 'class' */

/* Component dark mode checklist:
   [ ] bg-* has a dark:bg-* variant
   [ ] text-* has a dark:text-* variant
   [ ] border-* has a dark:border-* variant
   [ ] ring-* has a dark:ring-* variant if used as focus indicator
*/

<div class="bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100">

Sjekkliste for gjennomgang av pull requests

Bygg Tailwind-konvensjonene inn i prosessen for gjennomgang av PR-er. En kort sjekkliste i PR-malen minner både forfatteren og gjennomgåeren på å kontrollere de viktigste konvensjonene. Punktene kan omfatte: klassene er sortert, ingen usikre dynamiske klasser konstrueres, vilkårlige verdier har en kommentar, variantene for mørk modus er komplette, og ingen motstridende utilities finnes.

## Tailwind Checklist
- [ ] Classes sorted (Prettier ran)
- [ ] No typos (ESLint passed)
- [ ] Arbitrary values explained with comments
- [ ] Dark mode variants added for new surfaces
- [ ] No dynamic class concatenation without safelist
- [ ] Responsive base styles defined before breakpoint prefixes

Dokumentere stilguiden

Skriv stilguiden i filen STYLE_GUIDE.md, og commit den til repositoriet. Hold den nær koden, ikke i en separat wiki som blir utdatert. Hver konvensjon bør ha en kort begrunnelse, slik at nye teammedlemmer forstår hvorfor, noe som gjør det enklere å akseptere og følge den. Gå gjennom guiden hvert kvartal, og oppdater den etter hvert som prosjektet utvikler seg.

# Tailwind CSS Style Guide

## 1. Class Ordering
Use Prettier plugin — no manual sorting required.

## 2. @apply Usage
Only for patterns repeated 3+ times with no component solution.

## 3. Arbitrary Values
Add a comment. If used 2+ times, promote to theme.extend.

## 4. Dark Mode
Class strategy. Every new background and text color needs dark variant.

Onboarding av nye utviklere

En stilguide er bare effektiv hvis nye utviklere leser den. Legg inn en lenke til Tailwind-stilguiden i prosjektets README og i onboarding-sjekklisten for nye teammedlemmer. Vurder å legge til en kort quiz eller øvelse der nye utviklere kan bruke konvensjonene på en øvelseskomponent før de arbeider med produksjonskode.

# README.md

## Getting Started
1. `npm install`
2. Read [STYLE_GUIDE.md](./STYLE_GUIDE.md) before writing any Tailwind classes
3. Enable the recommended VS Code extensions from `.vscode/extensions.json`
4. Run `npm run lint && npm run format:check` before every commit

Kort sjekk

Test forståelsen din av konseptene fra Tailwind CSS Mastery i denne leksjonen.

Oppsummering av leksjonen

I denne leksjonen lærte De: å definere konvensjoner for @apply og vilkårlige verdier for å forhindre feilbruk, å bygge inn konvensjoner i sjekklister for pull requests for konsekvent gjennomgang, og å dokumentere stilveiledningen i repositoriet slik at den holdes oppdatert. Neste gang bygger vi en komplett hero- og navigasjonsseksjon for en landingsside.

Gratis å komme i gang

Lær deg HTML 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
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Teamkonvensjoner og stilguide» gratis?

Ja – hele teksten i «Teamkonvensjoner og stilguide» 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 Tailwind CSS Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Tailwind CSS Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Teamkonvensjoner og stilguide»?

Definer en stilguide for teamet med regler for klasserekkefølge, komponentnavn, når @apply skal brukes, og hvordan enkeltstående arbitrære verdier skal håndteres konsekvent. Du øver på Tailwind CSS 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 Tailwind CSS Academy?

Ingen tidligere erfaring er nødvendig. Tailwind CSS 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 4 av 4.

Hvor lang tid tar leksjonen «Teamkonvensjoner og stilguide»?

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 Tailwind CSS Academy-leksjonen?

Ja. Alle Tailwind CSS 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

  1. Kontrollere CSS-resultatet
  2. Klassesortering og Prettier-plugin
  3. Linting av Tailwind med ESLint
  4. Teamkonvensjoner og stilguide
← Tilbake til Tailwind CSS Academy