Hopp til hovedinnhold

Hva leter du etter?

Prøv å søke etter…

Komponenter

Card

Card fremhever informasjon eller oppgaver som hører sammen. Komponenten finnes i to varianter og kan inneholde tekst, bilde, tekstfelt, knapper og lenker.

Bruk

HTML

Trykk Enter for å redigere
Unable to parse html
const Preview = () => {
  return (
    <Card style={{ maxWidth: '320px' }} data-color='neutral'>
      <Heading>Lykkeland Barneskole</Heading>
      <Paragraph>
        Lykkeland Barneskole er ein trygg og inkluderande nærskule der leik,
        læring og nysgjerrigheit går hand i hand.
      </Paragraph>
      <Paragraph data-size='sm'>Solslett kommune</Paragraph>
    </Card>
  );
};

render(<Preview />)

Card har to klassenavn du kan bruke.

  • ds-card: Hovedklassen som omfavner hele kortet.
  • ds-card__block: Klassen som brukes for hver seksjon i kortet.

CSS variabler og data-attributter

Alle css variabler er knyttet til hovedklassen ds-card.

CSS-variabler
NavnVerdi
--dsc-card-background--activevar(--ds-color-surface-active)
--dsc-card-background--hovervar(--ds-color-surface-hover)
--dsc-card-backgroundvar(--ds-color-surface-default)
--dsc-card-border-widthvar(--ds-border-width-default)
--dsc-card-border-stylesolid
--dsc-card-border-colorvar(--ds-color-border-subtle)
--dsc-card-block-border-widthvar(--dsc-card-border-width)
--dsc-card-block-border-stylevar(--dsc-card-border-style)
--dsc-card-block-border-colorvar(--dsc-card-border-color)
--dsc-card-colorvar(--ds-color-text-default)
--dsc-card-content-margin-blockvar(--ds-size-3) 0
--dsc-card-paddingvar(--ds-size-6)
--dsc-card-border-radiusvar(--ds-border-radius-lg)
Data-attributter
NavnVerdi
data-variantdefault, tinted
data-clickdelegatefor

Eksempel

Med inndeling

Har du behov for inndeling i kortet, bruk ds-card__block hvis du vil dele opp kortet med skillelinjer eller legge til bilder eller video som går ut i kanten.

Merk at når du bruker ds-card__block, må alt innhold ligge i elementer med ds-card__block - ikke plasseres direkte i Card.

Lenkekort

Card kan brukes som navigasjonskort for å ta brukerne videre til en annen side.

Det er to ulike måter å gjøre dette på.

1. Kort som er en lenke

Hele kortet kan brukes som en lenke ved å bruke <a> som ytterst element. Dette er nyttig når du ønsker at all tekst og innhold i Card blir lest opp av skjermlesere som én sammenhengende lenke.

2. Kort med lenkede elementer

Har du et kort med flere interaktive elementer, som lenker eller knapper, kan du bruke data-clickdelegatefor for å gjøre hele kortet klikkbart, samtidig som det beholder semantikken til de interaktive elementene.

Horisontalt

Du kan endre mellom display: flex og display: grid for å legge Card.Block ved siden av hverandre:

React

Card

variant
Description

Change the background color of the card.

Type
"default" | "tinted"
Default
default
asChild
Description

Change the default rendered element for the one passed as a child, merging their props and behavior.

Type
boolean
Default
false
children
Description

Instances of `Card.Block`, `Divider` or other React nodes

Type
ReactNode
NameTypeDefaultDescription
variant"default" | "tinted"default

Change the background color of the card.

asChildbooleanfalse

Change the default rendered element for the one passed as a child, merging their props and behavior.

childrenReactNode-

Instances of `Card.Block`, `Divider` or other React nodes

CardBlock

asChild
Description

Change the default rendered element for the one passed as a child, merging their props and behavior.

Type
boolean
Default
false
NameTypeDefaultDescription
asChildbooleanfalse

Change the default rendered element for the one passed as a child, merging their props and behavior.

Kort med lenke i tittel

Dersom kortet skal lenke til en annen side, kan du legge en lenke i kortets tittel. Hele kortet blir da automatisk klikkbart, men skjermlesere får en bedre brukeropplevelse enn dersom hele kortet var en lenke (adrianroselli.com).

Når Card finner en <a> inni heading-elementet vil data-clickdelegatefor automatisk bli lagt til på kortet. Dette er nyttig når Card inneholder tekst eller media, og skal navigere til en annen side.

Legg merke til at med tastaturnavigering omfavner fokus-ringen kun teksten i lenken, og ikke hele kortet. Dette er fordi lenkekort også kan inneholde flere klikkbare elementer (sekundærhandlinger), og samtidig er det mindre forvirrende for brukere av assisterende teknologi, som stemmestyring eller skjermlesere, at lenketeksten samsvarer med fokusområdet.

Rediger denne siden på github.com (åpnes i ny fane)