Anpassade avståndsvärden
Lägg till projektspecifika avståndsvärden som spacing.18 eller spacing.128 i temat för att fylla luckor i standardskalan.
Anpassade avståndsvärden är en gratis lektion i Tailwind CSS Academy på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Tailwind CSS Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Tailwind CSS Academy innehåller totalt 4 lektioner.
Tailwinds standardskala för avstånd
Tailwinds standardskala för avstånd omfattar värden från 0 till 96 (0 till 24 rem i steg om 0,25 rem för små värden och därefter större steg). Skalan används konsekvent i utilitetsklasser för marginal, utfyllnad, bredd, höjd, mellanrum och positionering. Värdena är utformade för att täcka de allra flesta behov av avstånd i användargränssnitt, men verkliga designer kräver ibland värden som ligger mellan eller utanför standardvärdena.
/* Tailwind default spacing examples */
spacing.0 = 0px
spacing.0.5 = 2px
spacing.1 = 4px
spacing.2 = 8px
spacing.4 = 16px
spacing.8 = 32px
spacing.16 = 64px
spacing.32 = 128px
spacing.64 = 256px
spacing.96 = 384pxVarför anpassade avstånd behövs
Designsystem kräver ofta avståndsvärden utanför standardskalan — värdet 128 (32 rem) för hero-sektioner över en hel sida, värdet 4.5 (18 px) för ett specifikt element som ligger mellan standardvärdena 4 (16 px) och 5 (20 px), eller värdet 13 för bredden på en specifik gridkolumn. I stället för att använda godtyckliga värden med hakparenteser varje gång kan ni lägga till dessa värden en gång i konfigurationen och ge dem ett tydligt namn för utilitetsklassen.
Lägga till anpassade avstånd i konfigurationen
Lägg till anpassade avståndsvärden i theme.extend.spacing. Nyckeln blir suffixet i alla avståndsutiliteter och värdet är det CSS-mått ni vill använda. Använd strängnycklar för decimaltal eller stora tal så att de tolkas korrekt. När de har lagts till fungerar era anpassade avstånd automatiskt med m-*, p-*, w-*, h-*, gap-*, inset-* och alla andra avståndsutiliteter.
// tailwind.config.js
module.exports = {
theme: {
extend: {
spacing: {
'4.5': '1.125rem', // 18px — between default 4 and 5
'13': '3.25rem', // 52px
'128': '32rem', // 512px — for large hero sections
'144': '36rem', // 576px
'160': '40rem', // 640px
},
},
},
};Använda anpassade avståndsutiliteter
När anpassade avståndsvärden har lagts till använder ni dem precis som inbyggda avståndsutiliteter. Nyckeln placeras efter utilitetens prefix och bindestreck. Anpassade avstånd fungerar med responsiva prefix, mörkt läge och tillståndsvarianter på samma sätt som standardvärden. Eftersom de fungerar med flera utiliteter behöver konfigurationen bara skrivas en gång för att ni ska få utiliteter för utfyllnad, marginal, bredd, höjd och mellanrum från samma definition.
<!-- Using custom spacing values -->
<div class="p-4.5 m-13"> <!-- 18px padding, 52px margin -->
Custom spacing in padding and margin
</div>
<section class="min-h-128"> <!-- 512px minimum height -->
Full hero section
</section>
<div class="grid grid-cols-3 gap-4.5">
<!-- 18px gap between grid items -->
</div>Åsidosätta hela avståndsskalan
För projekt med strikta designsystem som endast får använda specifika avståndsvärden åsidosätter ni hela avståndsskalan genom att placera värdena direkt i theme.spacing (utanför extend). På så sätt kan ingen utvecklare av misstag använda ett avståndsvärde utanför den godkända uppsättningen. Var försiktig med denna metod — om Tailwinds standardvärden tas bort försvinner många vanligt förekommande utilitetsklasser.
// Strict spacing system: only these values are available
module.exports = {
theme: {
spacing: {
'0': '0px',
'1': '4px',
'2': '8px',
'3': '12px',
'4': '16px',
'6': '24px',
'8': '32px',
'12': '48px',
'16': '64px',
'24': '96px',
},
},
};Fraktionerade och decimala avståndsnycklar
Tailwind hanterar fraktionerade nycklar som '4.5' genom att generera utilitetsklasser med en CSS-säker version av decimaltecknet. Klassnamnet använder fraktionen som den skrevs: p-4.5, m-4.5. För nycklar med snedstreck (till exempel fraktioner för procentbaserade avstånd) kodas snedstrecket i CSS-selektorn. Ange alltid decimala nycklar och fraktionsnycklar inom citattecken som strängar i konfigurationsobjektet, så att JavaScript inte tolkar dem som numeriska literaler.
// tailwind.config.js
spacing: {
'0.5': '2px', // p-0.5, m-0.5 (already in defaults)
'1.5': '6px', // p-1.5, m-1.5 (already in defaults)
'4.5': '1.125rem', // CUSTOM: p-4.5
'13': '3.25rem', // CUSTOM: p-13
'18': '4.5rem', // CUSTOM: p-18
'22': '5.5rem', // CUSTOM: p-22
}Negativa avståndsvärden
Tailwind genererar automatiskt negativa varianter för alla avståndsvärden, både standardvärden och anpassade värden. Om ni lägger till '128': '32rem' i avståndskonfigurationen får ni även -m-128, -mt-128, -inset-128 och så vidare. Negativa värden genereras automatiskt — ingen separat konfigurationspost behövs. De är särskilt användbara för överlappande element, citat som dras ut i marginalen och dekorativ positionering.
<!-- Negative spacing pulls elements outside their container -->
<div class="relative">
<div class="bg-blue-100 p-8">
Main content
<!-- This element extends 4px outside the parent top -->
<span class="absolute -top-1 -right-1 bg-red-500 text-white text-xs rounded-full px-1.5 py-0.5">
NEW
</span>
</div>
</div>Avstånd relativt till teckensnittsstorleken
Ibland behöver ni avståndsvärden som skalas med textstorleken i stället för fasta rem-värden. Lägg till avståndsvärden med enheten em i konfigurationen — de blir då relativa till elementets egen teckensnittsstorlek. En knapp med utfyllnaden px-1.5em får till exempel proportionell horisontell utfyllnad oavsett om knapptexten är liten eller stor.
// tailwind.config.js
spacing: {
// em-based spacing (relative to font-size)
'0.25em': '0.25em',
'0.5em': '0.5em',
'0.75em': '0.75em',
'1em': '1em',
'1.25em': '1.25em',
'1.5em': '1.5em',
'2em': '2em',
}Avstånd för designsystemets grid
När designen bygger på ett 8-pixelsgridsystem (eller en basenhet på 4 pixlar) mappar ni hela gridet till avståndskonfigurationen. Ett 8-pixelsgrid innebär att alla avstånd är multiplar av 8 pixlar: 8, 16, 24, 32, 40, 48, 64, 80, 96, 128. Tailwinds standardskala följer redan detta (1 enhet = 4 pixlar, alltså 2 = 8 pixlar, 4 = 16 pixlar, 6 = 24 pixlar och 8 = 32 pixlar). Ni behöver kanske bara utöka den med värden över 96.
// 8px grid — Tailwind already aligns, just extend for larger values
spacing: {
// Already in defaults (4px base unit):
// 2=8px, 4=16px, 6=24px, 8=32px, 10=40px, 12=48px, 16=64px, 20=80px, 24=96px
// Extend for larger sections
'112': '28rem', // 448px (= 56 units of 8px)
'128': '32rem', // 512px
'160': '40rem', // 640px
'192': '48rem', // 768px
'224': '56rem', // 896px
'256': '64rem', // 1024px
}Godtyckliga värden som alternativ
När ni behöver ett avståndsvärde som bara ska användas en gång och inte vill belasta konfigurationen använder ni Tailwinds syntax för godtyckliga värden med hakparenteser: p-[22px], w-[347px], mt-[3.75rem]. Detta genererar det exakta CSS-värdet utan att lägga till något i konfigurationen. Godtyckliga värden passar utmärkt för engångsöverskrivningar men bör inte bli en vana — om samma värde används tre gånger eller fler bör det i stället läggas till i konfigurationen.
<!-- Arbitrary values for truly one-off sizes -->
<div class="p-[22px] w-[347px] mt-[3.75rem]">
One-off dimensions from design spec
</div>
<!-- Prefer config-based values for repeated use -->
<!-- BAD: p-[22px] used in 15 components -->
<!-- GOOD: Add '22': '1.375rem' to spacing config, use p-22 everywhere -->Dokumentera ert avståndssystem
När era anpassade avstånd växer bör ni dokumentera dem tillsammans med era färg- och typografitokens. Skapa en enkel visuell referens för avstånd i Storybook, i dokumentationen för designsystemet eller till och med på en statisk HTML-sida som visar varje avståndsvärde som ett färgat block. Det hjälper designers och utvecklare att använda rätt värde från konfigurationen i stället för att välja godtyckliga värden eller inkonsekventa engångslösningar.
<!-- Simple spacing token preview -->
<div class="space-y-2">
<div class="flex items-center gap-4">
<div class="bg-blue-200 h-4" style="width: 1.125rem;"></div>
<span class="text-sm font-mono">spacing.4.5 = 1.125rem (18px)</span>
</div>
<div class="flex items-center gap-4">
<div class="bg-blue-400 h-4" style="width: 3.25rem;"></div>
<span class="text-sm font-mono">spacing.13 = 3.25rem (52px)</span>
</div>
</div>Snabbkontroll
Testa era kunskaper om anpassade avståndsvärden i Tailwind CSS.
Sammanfattning av lektionen
I den här lektionen lärde Ni Er att lägga till anpassad spacing i theme.extend.spacing för att utöka standardskalan utan att ersätta den, att anpassad spacing automatiskt fungerar med alla spacing-utilities (padding, margin, width, height, gap), samt att godtyckliga värden med hakparenteser är ett bra alternativ för mått som verkligen bara används en gång. Härnäst utforskar vi CSS custom properties som designtokens i Tailwind.
Lär dig HTML med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Anpassade avståndsvärden” gratis?
Ja – hela texten till ”Anpassade avståndsvärden” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Tailwind CSS Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Tailwind CSS Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Anpassade avståndsvärden”?
Lägg till projektspecifika avståndsvärden som spacing.18 eller spacing.128 i temat för att fylla luckor i standardskalan. Ni övar på Tailwind CSS Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Tailwind CSS Academy?
Du behöver inga förkunskaper. Utbildningen i Tailwind CSS Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”Anpassade avståndsvärden”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Tailwind CSS Academy-lektionen?
Ja. Varje Tailwind CSS Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Lägga till anpassade färger
- Anpassade teckensnittsfamiljer
- Anpassade avståndsvärden
- Använda CSS-variabler i Tailwind