Flex brukes til å plassere elementer langs én akse – enten horisontalt eller vertikalt. Bruk Flex der du trenger enkel rad- eller kolonnebasert plassering, justering og mellomrom.
du trenger toaksekontroll med rader og kolonner, bruk Grid i stedet
Propen direction styrer om elementene plasseres horisontalt (row, standard) eller vertikalt (column).
Bruk align for å justere elementer langs kryssaksen (vertikalt i en rad), og justify for å justere langs hovedaksen (horisontalt i en rad).
Propen gap setter avstand mellom alle elementer med designsystemets spacing-skala (f.eks. "s", "m", "l"). Bruk rowGap og columnGap for å sette ulik avstand i hver retning.
Bruk Flex.Spacer til å skyve naboelementene fra hverandre. Spaceren tar opp all ledig plass langs hovedaksen og er nyttig for å plassere et element helt til høyre eller bunnen.
De fleste propser støtter responsive objekter med brekkpunktene base (mobil), s (600px), m (800px), lg (1200px) og xl (1400px). Dette gjør det mulig å endre retning og justering basert på skjermstørrelse.
<Flex gap="xl" align="flex-start">
<Flex direction="row" gap="s" align="center">
<div style={{ padding: '0.75rem 1rem', background: 'var(--basecolors-frame-subdued)', borderRadius: '4px' }}>A</div>
<div style={{ padding: '0.75rem 1rem', background: 'var(--basecolors-frame-subdued)', borderRadius: '4px' }}>B</div>
<div style={{ padding: '0.75rem 1rem', background: 'var(--basecolors-frame-subdued)', borderRadius: '4px' }}>C</div>
</Flex>
<Flex direction="column" gap="s">
<div style={{ padding: '0.75rem 1rem', background: 'var(--basecolors-frame-contrast)', color: 'var(--basecolors-text-light)', borderRadius: '4px' }}>A</div>
<div style={{ padding: '0.75rem 1rem', background: 'var(--basecolors-frame-contrast)', color: 'var(--basecolors-text-light)', borderRadius: '4px' }}>B</div>
<div style={{ padding: '0.75rem 1rem', background: 'var(--basecolors-frame-contrast)', color: 'var(--basecolors-text-light)', borderRadius: '4px' }}>C</div>
</Flex>
</Flex>
<Flex direction="column" gap="m">
<Flex justify="flex-start" gap="s" style={{ background: 'var(--basecolors-frame-tint)', padding: '0.5rem', borderRadius: '4px' }}>
<div style={{ padding: '0.5rem 1rem', background: 'var(--basecolors-frame-subdued)', borderRadius: '4px' }}>Start</div>
<div style={{ padding: '0.5rem 1rem', background: 'var(--basecolors-frame-subdued)', borderRadius: '4px' }}>Start</div>
</Flex>
<Flex justify="center" gap="s" style={{ background: 'var(--basecolors-frame-tint)', padding: '0.5rem', borderRadius: '4px' }}>
<div style={{ padding: '0.5rem 1rem', background: 'var(--basecolors-frame-subdued)', borderRadius: '4px' }}>Sentrert</div>
<div style={{ padding: '0.5rem 1rem', background: 'var(--basecolors-frame-subdued)', borderRadius: '4px' }}>Sentrert</div>
</Flex>
<Flex justify="space-between" style={{ background: 'var(--basecolors-frame-tint)', padding: '0.5rem', borderRadius: '4px' }}>
<div style={{ padding: '0.5rem 1rem', background: 'var(--basecolors-frame-subdued)', borderRadius: '4px' }}>Venstre</div>
<div style={{ padding: '0.5rem 1rem', background: 'var(--basecolors-frame-subdued)', borderRadius: '4px' }}>Høyre</div>
</Flex>
</Flex>
<Flex align="center" style={{ background: 'var(--basecolors-frame-tint)', padding: '0.5rem 1rem', borderRadius: '4px' }}>
<div style={{ padding: '0.5rem 1rem', background: 'var(--basecolors-frame-subdued)', borderRadius: '4px' }}>Logo</div>
<Flex.Spacer />
<div style={{ padding: '0.5rem 1rem', background: 'var(--basecolors-frame-subdued)', borderRadius: '4px' }}>Innstillinger</div>
</Flex>