Skip to main content

Spacing

Spacing-systemet i Indeks sikrer konsistente avstander mellom elementer på tvers av flater. Systemet bruker faste px-verdier som justeres på tre breakpoints, og kan tilpasses behov for mer eller mindre kompakt visning.

Breakpoints

Spacing er mobile-first og bruker tre breakpoints:

  • Mobil: grunnverdi (opptil 768px)
  • Tablet: fra 768px
  • Desktop: fra 1024px

De minste verdiene (2xslg) er like på alle breakpoints. Kun de store verdiene (xl5xl) øker på tablet og desktop, slik at layouten får mer luft på større skjermer uten at små detaljavstander endrer seg.

Fontstørrelser er faste og skalerer ikke med skjermbredden — grunnstørrelsen er alltid 16px (1rem). Spacing er definert i px, mens typografi bruker rem.

Density-moduser

Spacing-systemet i Indeks kan justeres basert på hvor kompakt eller romslig (desinsity) en flate skal være. Dette gjør det mulig å vise mer eller mindre innhold på samme flate, uten å gå på bekostning av lesbarhet. Indeks støtter tre ulike moduser som påvirker alle spacing-verdier.

  • Default: Standard visning med balanserte spacing-verdier som gir god lesbarhet og tydelig struktur. Dette er anbefalt valg for de fleste flater og brukstilfeller.

  • Compact: Kompakt visning med reduserte spacing-verdier. Er godt egnet for flater med behov for høy informasjonstetthet, som for eksempel rådgiverflater og andre interne systemer. Et kompakt område kan settes ved bruk av attributtet data-density="compact".

  • Comfortable: Komfortabel visning med økte spacing-verdier som gir et mer romslig uttrykk. Egner seg godt for åpne nettsider, salgskanaler og kampanjer, der innholdet skal få mer luft og oppmerksomhet. Et komfortabelt område kan settes ved bruk av attributtet data-density="comfortable".

<!-- Standard -->
<div class="ix-body" data-density="default">...</div>

<!-- Kompakt -->
<div class="ix-body" data-density="compact">...</div>

<!-- Komfortabel -->
<div class="ix-body" data-density="comfortable">...</div>

Spacing-skala

Spacing-tokens følger en konsistent skala fra 2xs til 5xl, med faste px-verdier. 2xslg er like på alle breakpoints; kun xl5xl øker på tablet og desktop.

Mobil (grunnverdi)

TokenBeskrivelseDefaultCompactComfortable
2xsEkstra liten4px2px8px
xsLiten8px4px12px
smSmall12px8px16px
mdMedium16px12px24px
lgLarge24px16px32px
xlExtra large32px24px40px
2xl2x extra large40px32px48px
3xl3x extra large48px40px64px
4xl4x extra large64px48px80px
5xl5x extra large80px64px96px

Tablet (fra 768px)

TokenDefaultCompactComfortable
xl40px32px48px
2xl48px40px64px
3xl64px48px80px
4xl80px64px96px
5xl96px80px128px

Desktop (fra 1024px)

TokenDefaultCompactComfortable
xl48px32px64px
2xl64px40px80px
3xl80px48px96px
4xl96px64px128px
5xl128px80px128px

Compact har samme verdier på tablet og desktop.

Bruk

Utility-klasser

Full oversikt over utility-klassene finner du i oversikten over utility-klasser.

CSS Custom Properties

Spacing finnes også i variabler: --ix-spacing-{size}. Variablene skiller ikke mellom padding, margin eller gap.

.min-komponent {
padding: var(--ix-spacing-md);
margin-bottom: var(--ix-spacing-lg);
gap: (var--ix-spacing-md);
}

Migreringsguider

Migrere fra FFE

Indeks sine verdier på spacing-variabler justerer seg etter skjermstørrelse og density-modus.

FFE-tokenIndeks-tokensFFE verdiIndeks verdi mobilIndeks verdi desktop
ffe-spacing-2xsix-spacing-2xs4px4px4px
ffe-spacing-xsix-spacing-xs8px8px8px
ix-spacing-sm12px12px
ffe-spacing-smix-spacing-md16px16px16px
ffe-spacing-mdix-spacing-lg24px24px24px
ffe-spacing-lgix-spacing-xl32px32px48px
ffe-spacing-xlix-spacing-xl40px32px48px
ffe-spacing-2xlix-spacing-2xl48px40px64px
ffe-spacing-3xlix-spacing-3xl64px48px80px
ffe-spacing-4xlix-spacing-4xl80px64px96px
ffe-spacing-5xlix-spacing-5xl160px80px128px

Det er mulig å migrere til disse spacing-variablene ved bruk av search-replace-all, men det er viktig å dobbeltsjekke endringen (også på flere skjermstørrelser), da oversettelsen ikke er direkte for alle variablene.

Migrere fra tailwind

Hvis prosjektet ditt er satt opp med tailwind som bruker spacing-skalaen fra FFE slik som det her:

{ 0: 0,
0.5: spacing.spacing2xs,
1: spacing.spacing,
2: spacing.spacingSm,
3: spacing.spacingMd,
4: spacing.spacingLg,
5: spacing.spacingXl,
6: spacing.spacing2xl,
8: spacing.spacing3xl,
10: spacing.spacing4xl,
20: spacing.spacing5xl
}

Kan du ta utgangspunkt i disse tabellene:

Padding

Verdiene er de samme for pt, pb, pl og pr. Se responsiv spacing for padding på forskjellige skjermstørrelser.

Tailwind-tokenIndeks Util-klasseFFE/Tailwind verdiIndeks verdi mobilIndeks desktop
p-0ix-p-00px0px0px
p-0.5ix-p-2xs4px4px4px
p-1ix-p-xs8px8px8px
ix-p-sm12px12px
p-2ix-p-md16px16px16px
p-3ix-p-lg24px24px24px
p-4ix-p-xl32px32px48px
p-5ix-p-xl40px32px48px
p-6ix-p-2xl48px40px64px
p-8ix-p-3xl64px48px80px
p-10ix-p-4xl80px64px96px
p-20ix-p-5xl160px80px128px

Margin

Verdiene er de samme for mt, mb, ml og mr. Se responsiv spacing for margin på forskjellige skjermstørrelser.

Tailwind-tokenIndeks Util-klasseFFE/Tailwind verdiIndeks verdi mobilIndeks desktop
m-0ix-m-00px0px0px
m-0.5ix-m-2xs4px4px4px
m-1ix-m-xs8px8px8px
ix-m-sm12px12px
m-2ix-m-md16px16px16px
m-3ix-m-lg24px24px24px
m-4ix-m-xl32px32px48px
m-5ix-m-xl40px32px48px
m-6ix-m-2xl48px40px64px
m-8ix-m-3xl64px48px80px
m-10ix-m-4xl80px64px96px
m-20ix-m-5xl160px80px128px

Gap

Tailwind-tokenIndeks Util-klasseFFE/Tailwind verdiIndeks verdi mobilIndeks desktop
gap-0ix-gap-00px0px0px
gap-0.5ix-gap-2xs4px4px4px
gap-1ix-gap-xs8px8px8px
ix-gap-sm12px12px
gap-2ix-gap-md16px16px16px
gap-3ix-gap-lg24px24px24px
gap-4ix-gap-xl32px32px48px
gap-5ix-gap-xl40px32px48px
gap-6ix-gap-2xl48px40px64px
gap-8ix-gap-3xl64px48px80px
gap-10ix-gap-4xl80px64px96px
gap-20ix-gap-5xl160px80px128px

Ta gjerne kontakt med oss om du har andre behov enn det Indeks tilbyr.