Skip to main content

Typografi

Indeks deler typografi i tre komponenter:

  • Heading — overskrifter (h1–h6)
  • Text — brødtekst og løpende tekst
  • LinkText — lenker i løpende tekst

Alle bruker data-size for å styre visuell størrelse uavhengig av semantisk element.

Overskrifter (Heading)

Overskrifter i Indeks skiller mellom semantisk nivå og visuell størrelse. Semantisk nivå bestemmer dokumentstrukturen og hva skjermlesere annonserer — alltid et HTML-element fra h1 til h6. Visuell størrelse styrer utseendet og følger som standard en fast mapping, men kan overstyres hvis det visuelle hierarkiet krever det.

De tre største størrelsene (2xllg) bruker SpareBank 1 Title, de tre minste bruker SpareBank 1.

Størrelse (size)Heading-nivå (as)FontEksempel
2xlh1SpareBank 1 TitleOverskrift
xlh2SpareBank 1 TitleOverskrift
lgh3SpareBank 1 TitleOverskrift
mdh4SpareBank 1Overskrift
smh5SpareBank 1Overskrift
xsh6SpareBank 1Overskrift

Kom i gang

import { Heading } from '@sb1/indeks-react';
Result
Loading...
Kode
Live Editor
<Heading as="h1">Renter og betingelser</Heading>

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

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

Spacing i overskrifter

Alle overskrifter kommer uten spacing som standard. Du kan legge til anbefalt spacing basert på størrelsen, eller bruke spacing-utility-klasser til å sette margin selv.

Bruk addRecommendedSpacing-propen for å legge til anbefalt margin-bottom basert på størrelse:

Result
Loading...
Kode
Live Editor
<>
    <Heading as="h1" addRecommendedSpacing>Renter og betingelser</Heading>
    <Heading as="h2" addRecommendedSpacing>Effektiv rente</Heading>
</>

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)

Text er utgangspunktet for all løpende tekst — beskrivelser, hjelpetekster, meldinger og innhold som ikke er overskrift eller lenke. Standard størrelse er md, og standard element er <p>.

Størrelsene (xs2xl) følger samme skala som spacing, noe som gjør det lett å kombinere tekststørrelse og luft uten å blande ulike skalaer.

Kom i gang

import { Text } from '@sb1/indeks-react';
Result
Loading...
Kode
Live Editor
<Text>Kontoen din har en saldo på 12 345,00 kr.</Text>

Eget element

ix-text-klassen kan settes på alle block- og inline-elementer.

Tekst rendres som standard i en <p>. Bruk as når elementet ikke er en paragraf — for eksempel i lister eller tabellceller:

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

Linjehøyde

Standard linjehøyde er 1.2. Brødtekst over flere linjer trenger større linjehøyde for bedre lesbarhet — sett den til 1.4 med modifikatoren under:

Result
Loading...
Kode
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>

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.

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

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

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

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 er lenker som sitter i løpende tekst — ikke frittstående knapper eller navigasjonslenker. Komponenten setter riktig lenkefarge, understrek og aktiv-tilstand, og fungerer med <a> eller en hvilken som helst router-komponent.

Kom i gang

import { LinkText } from '@sb1/indeks-react';
Result
Loading...
Kode
Live Editor
<LinkText href="/konto">Se kontooversikt</LinkText>

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

Result
Loading...
Kode
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>
</>

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.


Tilpasning med CSS

Typografi i Indeks er ikke bygget rundt én blokkklasse — stilene er i stedet fordelt på klasser per komponent og størrelse. Du kan bruke disse direkte i egenhåndig HTML uten React-komponentene.

Tilgjengelige klasser og selektorer

KomponentBasisklasseStørrelseModifikatorer
Headingix-headingdata-size="2xl|xl|lg|md|sm|xs"
Textix-textdata-size="2xl|xl|lg|md|sm|xs"ix-text--long
LinkTextix-link-textix-link-text--no-underline ix-link-text--active

Se fullstendig klasseliste med beskrivelse under Props-tabellene i HTML-fanene ovenfor.

Eksempel: bruk i eigen HTML-struktur

<h1 class="ix-heading" data-size="2xl">Renter og betingelser</h1>
<p class="ix-text ix-text--long" data-size="md">Renten på boliglånet ditt er basert på Nibor pluss et påslag.</p>
<a class="ix-link-text" href="/konto">Se kontooversikt</a>

Relatert