Brugerdefinerede afstandsværdier
Tilføj projektspecifikke afstandsværdier som spacing.18 eller spacing.128 til temaet for at udfylde huller i standardskalaen.
Brugerdefinerede afstandsværdier er en gratis Tailwind CSS Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Tailwind CSS Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Tailwind CSS Academy-kurset indeholder 4 lektioner i alt.
Tailwinds standardskala for afstand
Tailwinds standardskala for afstand dækker værdier fra 0 til 96 (0 til 24 rem i trin på 0,25 rem for små værdier og derefter større trin). Denne skala bruges konsekvent i hjælpeklasser til margen, indvendig afstand, bredde, højde, mellemrum og placering. Værdierne er designet til at dække langt de fleste behov for afstande i brugerflader, men design fra virkeligheden kræver nogle gange værdier, der ligger mellem eller uden for standardværdierne.
/* 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 = 384pxHvorfor brugerdefinerede afstande er nødvendige
Designsystemer kræver ofte afstandsværdier uden for standardskalaen — en 128-værdi (32 rem) til helsides hero-sektioner, en 4.5-værdi (18 px) til et bestemt element, der ligger mellem standardværdierne 4 (16 px) og 5 (20 px), eller en 13-værdi til bredden på en bestemt gitterkolonne. I stedet for at bruge vilkårlige værdier med kantet parentesnotation hver gang kan du tilføje disse værdier én gang i konfigurationen og give dem et tydeligt navn til hjælpeklassen.
Tilføjelse af brugerdefinerede afstande i konfigurationen
Tilføj brugerdefinerede afstandsværdier i theme.extend.spacing. Nøglen bliver suffikset i alle hjælpeklasser til afstand, og værdien er det CSS-mål, du ønsker. Brug strengnøgler til decimaltal eller store tal for at sikre, at de fortolkes korrekt. Når de er tilføjet, fungerer dine brugerdefinerede afstande automatisk med m-*, p-*, w-*, h-*, gap-*, inset-* og alle andre hjælpeklasser til afstand.
// 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
},
},
},
};Brug af brugerdefinerede afstandshjælpeklasser
Når du har tilføjet brugerdefinerede afstandsværdier, skal du bruge dem på samme måde som indbyggede hjælpeklasser til afstand. Nøglen placeres efter hjælpeklassens præfiks og bindestreg. Brugerdefinerede afstande fungerer med responsive præfikser, mørk tilstand og tilstandsvarianter ligesom standardværdierne. Fordi de kan bruges på tværs af hjælpeklasser, skriver du konfigurationen én gang og får hjælpeklasser til indvendig afstand, margen, bredde, højde og mellemrum fra den samme 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>Tilsidesættelse af hele afstandsskalaen
I projekter med strenge designsystemer, der kun må bruge bestemte afstandsværdier, kan du tilsidesætte hele afstandsskalaen ved at placere dine værdier direkte i theme.spacing (uden for extend). Det sikrer, at ingen udvikler ved et uheld bruger en afstandsværdi uden for det godkendte sæt. Vær forsigtig med denne fremgangsmåde — hvis du fjerner Tailwinds standardværdier, forsvinder mange almindeligt nødvendige hjælpeklasser.
// 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',
},
},
};Brøk- og decimaltalsnøgler til afstand
Tailwind håndterer brøgnøgler som '4.5' ved at generere hjælpeklasser med en CSS-sikker version af decimaltallet. Klassenavnet bruger brøken, som den er skrevet: p-4.5, m-4.5. For nøgler med skråstreger (som brøker til procentbaserede afstande) kodes skråstregen i CSS-selektoren. Sæt altid decimaltals- og brøgnøgler i anførselstegn som strenge i konfigurationsobjektet, så JavaScript ikke fortolker dem som numeriske 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
}Negative afstandsværdier
Tailwind genererer automatisk negative varianter for alle afstandsværdier, både standardværdier og brugerdefinerede værdier. Hvis du tilføjer '128': '32rem' i din afstandskonfiguration, får du også -m-128, -mt-128, -inset-128 osv. Negative værdier genereres automatisk — der kræves ingen separat konfigurationspost. De er især nyttige til overlappende elementer, fremhævede citater og dekorativ placering.
<!-- 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>Afstand i forhold til skriftstørrelsen
Nogle gange vil du have afstandsværdier, der skalerer med tekstens størrelse i stedet for at være faste rem-værdier. Tilføj afstandsværdier med enhederne em i konfigurationen — de vil være relative til elementets egen skriftstørrelse. En knap med indvendig afstand på px-1.5em vil for eksempel have en proportionel vandret indvendig afstand, uanset om knappens tekst er lille 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',
}Afstande til designsystemets gitre
Når dit design er baseret på et 8 px-gittersystem (eller en basisenhed på 4 px), skal du afspejle hele gitteret i din afstandskonfiguration. Et 8 px-gitter betyder, at alle afstande er multipla af 8 px: 8, 16, 24, 32, 40, 48, 64, 80, 96, 128. Tailwinds standardskala for afstand stemmer allerede overens med dette (1 enhed = 4 px, så 2 = 8 px, 4 = 16 px, 6 = 24 px og 8 = 32 px). Du behøver måske kun at udvide med værdier over 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
}Vilkårlige værdier som alternativ
Når du har brug for en enkeltstående afstandsværdi og ikke vil overfylde din konfiguration, kan du bruge Tailwinds syntaks for vilkårlige værdier med kantede parenteser: p-[22px], w-[347px], mt-[3.75rem]. Det genererer den nøjagtige CSS-værdi uden at føje noget til konfigurationen. Vilkårlige værdier er ideelle til engangsjusteringer, men bør ikke blive en vane — hvis du bruger den samme værdi tre eller flere gange, skal du i stedet føje den til 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 -->Dokumentation af dit afstandssystem
Efterhånden som dine brugerdefinerede afstande vokser, skal du dokumentere dem sammen med dine farve- og typografiværdier. Opret en enkel visuel reference for afstande i din Storybook, i dokumentationen til dit designsystem eller endda på en statisk HTML-side, der viser hver afstandsværdi som en farvet blok. Det hjælper designere og udviklere med at bruge den rigtige værdi fra konfigurationen i stedet for at ty til vilkårlige værdier eller inkonsekvente engangsløsninger.
<!-- 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>Hurtigt tjek
Test din forståelse af brugerdefinerede afstandsværdier i Tailwind CSS.
Opsummering af lektionen
I denne lektion lærte du: Tilføj brugerdefineret afstand i theme.extend.spacing for at udvide standardskalaen uden at erstatte den. Brugerdefineret afstand fungerer automatisk på tværs af alle afstandsværktøjer (indvendig margen, udvendig margen, bredde, højde og mellemrum), og vilkårlige værdier med kantparenteser er et godt alternativ til målinger, der kun bruges ét enkelt sted. Næste emne er CSS-brugerdefinerede egenskaber som designtokens i Tailwind.
Lær HTML med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “Brugerdefinerede afstandsværdier” gratis?
Ja — hele teksten til “Brugerdefinerede afstandsværdier” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Tailwind CSS Academy-kurset, skal du opgradere til CoddyKit PRO. Tailwind CSS Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Brugerdefinerede afstandsværdier”?
Tilføj projektspecifikke afstandsværdier som spacing.18 eller spacing.128 til temaet for at udfylde huller i standardskalaen. Du øver dig i Tailwind CSS Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Tailwind CSS Academy?
Der kræves ingen tidligere erfaring. Tailwind CSS Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Brugerdefinerede afstandsværdier”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Tailwind CSS Academy-lektion?
Ja. Alle Tailwind CSS Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Tilføjelse af brugerdefinerede farver
- Brugerdefinerede skriftfamilier
- Brugerdefinerede afstandsværdier
- Brug af CSS-variabler i Tailwind