Skip to main content

Typografi

Vi deler opp typografi i Indeks etter tre kategorier: overskrifter, brødtekst og lenker.

import { Heading, Text, LinkText } from '@sb1/indeks-react';

Overskrifter (Heading)

For overskrifter har vi en egen komponent: Heading.

Heading-nivå spesifiseres med as-propen. Størrelse og semantikk er holdt adskilt — du kan fritt overstyre størrelsen med size hvis det visuelle hierarkiet ikke samsvarer med det semantiske.

Størrelse (size)Heading-nivå (as)Font
2xlh1SpareBank 1 Title
xlh2SpareBank 1 Title
lgh3SpareBank 1 Title
mdh4SpareBank 1
smh5SpareBank 1
xsh6SpareBank 1

Kom i gang

Live Editor
<Heading as="h1">Renter og betingelser</Heading>
Result
Loading...

Heading-nivå kan overstyres med size hvis det visuelle hierarkiet ikke samsvarer med det semantiske:

Live Editor
<>
  <Heading as="h1" size="lg">Renter og betingelser</Heading>
  <Heading as="h2" size="md">Effektiv rente</Heading>
</>
Result
Loading...

Spacing i overskrifter

  • Alle overskrifter kommer uten noe spacing.
  • Legg til propen addRecommendedSpacing (boolean) for riktig spacing-verdi i forhold til størrelsen.
  • Du kan også bruke spacing-variabler eller util-klasser til å sette margin selv.

Props — Heading

PropTypeStandardBeskrivelse
ash1 | h2 | h3 | h4 | h5 | h6— (påkrevd)Semantisk HTML-element. Bestemmer heading-nivå.
size2xl | xl | lg | md | sm | xsUtledet fra asVisuell størrelse. Overstyrer standard mapping.
addRecommendedSpacingbooleanfalseLegger til margin-bottom basert på størrelse.
classNamestringEkstra CSS-klasser.

Brødtekst (Text)

Brødtekster lages med Text-komponenten. Standard element er <p>, men det kan overstyres med as. Størrelsene (xs2xl) følger samme skala som spacing.

Kom i gang

Live Editor
<Text>Kontoen din har en saldo på 12 345,00 kr.</Text>
Result
Loading...

Eget element

Tekst rendres som standard i en <p>. Bruk as når elementet ikke er en paragraf — for eksempel i lister, tabellceller eller når du nøster inn i andre elementer:

Live Editor
<ul>
  <Text as="li">Brukskonto</Text>
  <Text as="li">Sparekonto</Text>
</ul>
Result
Loading...

Linjehøyde

Standard linjehøyde er 1.2. Brødtekst som er lengre enn noen få linjer trenger større linjehøyde for bedre lesbarhet, og kan overstyres til 1.4 med long-propen:

Live Editor
<Text long>
  Renten på boliglånet ditt er basert på Nibor pluss et påslag. Den effektive
  renten inkluderer alle gebyrer og kostnader knyttet til lånet, og gir deg et
  mer realistisk bilde av hva lånet faktisk koster deg per år.
</Text>
Result
Loading...

Bold og emphasized tekst

Bruk <strong> og <em> for å utheve tekst med henholdsvis fet og kursiv stil. Begge har semantisk betydning. Bruk <b> og <i> kun når du vil ha visuell effekt uten semantisk mening.

Live Editor
<>
  <Text>Saldo: <strong>12 345,00 kr</strong></Text>
  <Text>Renten er <em>variabel</em> og kan endres.</Text>
</>
Result
Loading...

Vil du utheve en hel paragraf uten <p>-elementet, bruk as:

Live Editor
<Text as="strong">Denne teksten er uthevet i sin helhet</Text>
Result
Loading...

Props — Text

PropTypeStandardBeskrivelse
asElementTypepHTML-element som rendres. Kan være span, strong, em, etc.
size2xl | xl | lg | md | sm | xsmdSkriftstørrelse.
longbooleanfalseØker linjehøyden til 1.4. Bruk for tekst over flere linjer.
addRecommendedSpacingbooleanfalseLegger til anbefalt margin-bottom under teksten.
classNamestringEkstra CSS-klasser.

Lenker (LinkText)

LinkText brukes til navigasjon i løpende tekst. Standard element er <a>, men det kan overstyres med as — for eksempel for å bruke en router-komponent.

Kom i gang

Live Editor
<LinkText href="/konto">Se kontooversikt</LinkText>
Result
Loading...

Props — LinkText

PropTypeStandardBeskrivelse
asElementTypeaHTML-element som rendres. Bruk f.eks. Link fra React Router.
size'sm' | 'md' | 'lg'mdSkriftstørrelse.
underlinebooleantrueViser understrek. Deaktiver kun i spesielle kontekster.
isActivebooleanfalseMarkerer lenken som aktiv — brukes i navigasjonsmenyer o.l.
classNamestringEkstra CSS-klasser.

Utility-klasser

For tilfeller der du ikke bruker Text-komponenten, finnes det utility-klasser for typografi.

Skriftstørrelse

Live Editor
<>
  <p className="ix-font-size-xs">xs — ekstra liten tekst</p>
  <p className="ix-font-size-sm">sm — liten tekst</p>
  <p className="ix-font-size-md">md — standardstørrelse</p>
  <p className="ix-font-size-lg">lg — stor tekst</p>
  <p className="ix-font-size-xl">xl — ekstra stor tekst</p>
  <p className="ix-font-size-2xl">2xl</p>
  <p className="ix-font-size-3xl">3xl</p>
  <p className="ix-font-size-4xl">4xl</p>
  <p className="ix-font-size-5xl">5xl</p>
</>
Result
Loading...

Vekt og stil

KlasseBeskrivelse
.ix-text-boldSetter font-weight: medium. Tilsvarer effekten av <strong> og <b>.
.ix-text-italicSetter font-style: italic. Tilsvarer effekten av <em> og <i>.
tip

strong og b arver automatisk bold-stilen fra .ix-body. Det samme gjelder em og i for kursiv. Utility-klassene er nyttige når du ikke kan endre HTML-semantikken.


Relatert