Raskere og bedre – her er 4 nyheter i Tailwind CSS 4.0

Tailwind CSS versjon 4.0 er klar, med støtte for det nyeste i CSS – og betydelig raskere byggetid.

Tailwind CSS 4.0 skal være mye raskere enn versjon 3. 📸: Tailwindcss.com
Tailwind CSS 4.0 skal være mye raskere enn versjon 3. 📸: Tailwindcss.com Vis mer

Versjon 4.0 av det populære CSS-rammeverket Tailwind CSS er lansert – og denne gangen snakker vi om en virkelig stor oppdatering.

Hele rammeverket er nemlig skrevet på nytt fra bunnen av med støtte for "alt" det nyeste av CSS-funksjonalitet – i tillegg til vesentlig bedre ytelse:

  • Fullstendige bygg er opptil 5x raskere
  • Inkrementelle bygg er over 100x raskere hvis det ikke er noe ny CSS. Med ny CSS er inkrementelle bygg nesten 9 ganger raskere

Det mest interessante for de fleste er imidlertid alt det nye du får i Tailwind CSS 4.0.

Her er fire ting vi liker – resten kan du lese om på Tailwind-bloggen.

#1: Støtter det nyeste

Tailwind CSS skal være "laget for den moderne weben". I praksis betyr det at rammeverket bruker cascade layers-funksjonaliteten som moderne nettlesere har hatt innebygget en stund.

Det er støtte for såkalte Registered custom properties som lar deg gjøre ting som å animere gradienter – i tillegg til at ytelsen på store sider skal bli bedre. Du kan også bruke den splitter nye CSS-funksjonen color-mix() for å endre gjennomsiktigheten (opacity) for en hvilken som helst fargeverdi – inkludert farger definert gjennom CSS-variabler.

Eksempler:

@layer theme, base, components, utilities;
@layer utilities {
  .mx-6 {
    margin-inline: calc(var(--spacing) * 6);
  }
  .bg-blue-500\/50 {
    background-color: color-mix(in oklab, var(--color-blue-500) 50%, transparent);
  }
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

#2: Ingen tailwind.config-fil

I tidligere versjoner av Tailwind CSS måtte du konfigurere prosjektet ditt i en tailwind.config.js-fil.

Fra og med versjon 4.0 gjøres all konfigurasjon i CSS. Dermed kan du for eksempel konfigurere fargetemaer på denne måten i CSS-filen din:

@import "tailwindcss";
@theme {
  --font-display: "Satoshi", "sans-serif";
  --breakpoint-3xl: 1920px;
  --color-avocado-100: oklch(0.99 0 0);
  --color-avocado-200: oklch(0.98 0.04 113.22);
  --color-avocado-300: oklch(0.94 0.11 115.03);
  --color-avocado-400: oklch(0.92 0.19 114.08);
  --color-avocado-500: oklch(0.84 0.18 117.33);
  --color-avocado-600: oklch(0.53 0.12 118.34);
  --ease-fluid: cubic-bezier(0.3, 0, 0, 1);
  --ease-snappy: cubic-bezier(0.2, 0, 0, 1);
  /* ... */
}

Alt blir tilgjengelig som CSS-variabler ("custom properties") du kan bruke andre steder i koden din.

– Den nye CSS-first-konfigurasjonen lar deg gjøre omtrent alt du kunne gjøre i tailwind.config.js-filen din, inkludert å konfigurere designtokenene dine, definere egne utility-klasser og varianter, og mer, skriver Adam Wathan i Tailwind CSS.

#3: Container queries

Container queries har vært en av de mest etterlengtede funksjonene i CSS, og det er rundt to år siden de fleste store nettlesere fikk støtte for det.

I versjon 4 får endelig også Tailwind CSS støtte for container queries, slik at du kan style noe basert på størrelsen til containeren elementet er i, i stedet for størrelsen på nettleservinduet.

<div class="@container">
  <div class="grid grid-cols-1 @sm:grid-cols-3 @lg:grid-cols-4">
    <!-- ... -->
  </div>
</div>

Les mer om hvordan du bruker dette i Tailwind CSS 4 her.

#4: Finere overganger

Tailwind CSS 4 har fått støtte for en haug med nye overganger ("gradients"), slik at du kan få til enda mer fancy effekter uten å måtte bruke CSS utover det du kan gjøre i Tailwind.

For eksempel kan du få til fargeoverganger som beveger seg på skrå i ulike vinkler, og du kan lage overganger som ser ut som kuler. Mye av dette kan kombineres.

Å lage noe som dette er en smal sak i Tailwind CSS 4:

image: Raskere og bedre – her er 4 nyheter i Tailwind CSS 4.0

Slik oppgraderer du

Det er ganske mange "breaking changes" i Tailwind CSS 4.0, som at det som nevnt ikke lenger brukes noen tailwind.config-fil. En del utility-klasser har også fått nye navn, så det kan hende du må gjøre noen oppdateringer her og der i koden din.

Heldigvis er en av nyhetene i v4 at installasjon og konfigurasjon har blitt enklere. Det er færre trinn enn før, og det er nå mulig å bruke Tailwind CSS enten med PostCSS eller via en Vite-plugin.

Det finnes et "codemod"-verktøy som i mange tilfeller fikser oppdateringen for deg automatisk:

npx @tailwindcss/upgrade@next

Du kan lese mer om det på denne siden.

Men vær obs på at hvis du bruker noen UI-biblioteker eller annet som bruker Tailwind CSS, så kan det hende du må vente til disse også støtter Tailwind CSS 4. Det populære UI-biblioteket HeroUI (tidligere NextUI) støtter for eksempel ikke Tailwind CSS 4 ennå – men det skal være like rundt hjørnet.