Skip to main content

Spacing

Spacing-systemet i Indeks sikrer konsistente avstander mellom elementer på tvers av flater. Systemet er bygget på en skalerbar grunnverdi og kan justeres for ulike skjermstørrelser og behov for mer eller mindre kompakt visning.

Grunnverdier

Spacing-systemet bruker følgende grunnverdier:

  • Mobil: 16px (1rem)
  • Tablet: 17px (1.063rem)
  • Desktop: 18px (1.125)

Det betyr at størrelsen md fungerer som et referansepunkt i skalaen, og at øvrige størrelser beregnes relativt til denne. Typografi bruker rem, mens spacing er definert i px, men begge følger den samme underliggende skalaen for å sikre konsistente proporsjoner på tvers av systemet.

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 klassen ix-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 klassen ix-density--comfortable.

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

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

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

Spacing-skala

Spacing-tokens følger en konsistent, skalerbar skala fra 2xs til 4xl. Skalaen er bygget for å dekke både små justeringer og større avstander, og brukes konsekvent på tvers av komponenter og flater.

TokenBeskrivelseDefaultCompactComfortable
2xsEkstra liten4px2px6px
xsLiten7px4px9px
smSmall11px9px14px
mdMedium16px13px20px
lgLarge23px18px29px
xlExtra large32px26px41px
2xl2x extra large46px36px58px
3xl3x extra large66px52px83px
4xl4x extra large106px83px133px

Verdiene over er for mobil. På tablet og desktop økes alle verdier proporsjonalt.

Bak kulissene er spacing-verdiene basert på en beregnet skala som strekker seg fra –13 til 19, med baseverdiene som utgangspunkt. De ulike density-modusene justerer verdiene ved å flytte seg opp eller ned i skalaen, noe som gjør det mulig å endre spacing konsekvent uten å definere nye verdier.

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-xs8px7px8px
ix-spacing-sm11px13px
ffe-spacing-smix-spacing-md16px16px18px
ffe-spacing-mdix-spacing-lg24px23px26px
ffe-spacing-lgix-spacing-xl32px32px36px
ffe-spacing-xlix-spacing-xl40px32px36px
ffe-spacing-2xlix-spacing-2xl48px46px52px
ffe-spacing-3xl64px
ffe-spacing-4xlix-spacing-3xl80px66px74px
ix-spacing-4xl105px118px
ffe-spacing-5xl160px

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-xs8px7px8px
ix-p-sm11px13px
p-2ix-p-md16px16px18px
p-3ix-p-lg24px23px26px
p-4ix-p-xl32px32px36px
p-5ix-p-xl40px32px36px
p-6ix-p-2xl48px46px52px
p-864px
p-10ix-p-3xl80px66px74px
ix-p-4xl105px118px
p-20160px

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-xs8px7px8px
ix-m-sm11px13px
m-2ix-m-md16px16px18px
m-3ix-m-lg24px23px26px
m-4ix-m-xl32px32px36px
m-5ix-m-xl40px32px36px
m-6ix-m-2xl48px46px52px
m-864px
m-10ix-m-3xl80px66px74px
ix-m-4xl105px118px
m-20160px

Gap

Tailwind-tokenIndeks Util-klasseFFE/Tailwind verdiIndeks verdi mobilIndeks desktop
gap-0ix-gap-00px0px0px
gap-0.5ix-gap-2xs4px4px4px
gap-1ix-gap-xs8px7px8px
ix-gap-sm11px13px
gap-2ix-gap-md16px16px18px
gap-3ix-gap-lg24px23px26px
gap-4ix-gap-xl32px32px36px
gap-5ix-gap-xl40px32px36px
gap-6ix-gap-2xl48px46px52px
gap-864px
gap-10ix-gap-3xl80px66px74px
ix-gap-4xl105px118px
gap-20160px

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