Indholdsfortegnelse


Basis

Layout

UI-komponenter


Typografi

Overskrift niveau 1

Overskrift niveau 2

Overskrift niveau 3

Overskrift niveau 4

Overskrift niveau 5
Manchet/blockquote. Lorem ipsom dolor amet etc.

Ovenstående manchet/blockquote laves med <blockquote> eller class="blockquote"

Almindelig brødtekst. Her er et link i teksten. Lorem ipsum dolor etc.
Fås osgå som kursiv brødtekst, hvis du bruger <em> elementet.

Bemærk! Lav aldrig om på headings - f.eks. ved at lave en <h1> om til en <h3> hvis du bare synes overskriften skal have en anden størrelse. Niveau-opdelingen har betydning for tilgængelighed og SEO.

Brug i stedet en style class på heading, der matcher din ønskede størrelse.
F.eks. <h1 class="h3">.

Lille brødtekst. Here is a link. Benyttes i HTML med <small> elementet.
Lille kursiv brødtekst. Benyttes i HTML med <small> og <em> elementerne.

Her er noget kode

Farver

Tyrkis
#0097A7 hsl(186,100%,33%)

Mørk tyrkis
#045D67 hsl(186, 92%, 21%)

Mørk tyrkis plus
#00373D hsl(186,100%,12%)

Vibrant steel
hsla(186,40%,82%,0.7)

Dark steel
hsla(186,25%,64%,0.6)

Medium steel
#E1ECED hsl(186,25%,91%)

Lys steel
#F2F7F7 hsl(186,25%,96%)

Sort
#000000 hsl(0,0%,0%)

65% sort
hsla(0,0%,0%,0.65)

Hvid
#FFFFFF hsl(0,0%,100%)

Aktion
#3EDDC6 hsl(171,70%,55%)

Highlight
#E98436 hsl(26,80%,56%)

Advarsel
#FF5252 hsl(0,100%,66%)


Indhold med baggrundsfarve

Kan laves vha. CSS custom properties, som i eksemplet nedenfor.
Husk at sætte data-theme="light" på elementet, så tekst og andet indhold får farver, der passer til en lys baggrund.

Indhold med baggrundsfarve

Benyttes ofte til footer og lign.
Kan laves vha. CSS custom properties, som i eksemplet nedenfor.

Indhold med mørk baggrundsfarve

Her har vi blot sat data-theme="dark" på elementet.

Knapper

Knapper laves ved at bruge <button> elementet.

Knapper kan have forskellige udtryk, hvis du sætter class "secondary", "outline" eller "contrast" på dem.

Du kan ændre typografi i knapperne ved at bruge .hx classes på knapperne.
F.eks. <button class="h4">H4 tekst knap</button>

Links kan styles som knapper ved at sætte role="button" på dem.

Link-knap Link-knap Link-knap Link-knap

Du kan lave knapgrupper ved at pakke <button> elementerne ind i et element med class="ds-button-group".

Knapgrupper kan indeholde et vilkårligt antal knapper.
Bemærk: Vær opmærksom på, om der er plads til alle knapperne på små skærme.

Knapper kan udstyres med ikoner.

Bemærk! Knapper uden tekst skal altid have en title attribut.
Det giver en forklaringstekst ved mouse-over og hjælper skærmlæsere.

Knapper med ikoner kan også kobles sammen i grupper.

Tekst og ikoner kan kombineres i knapper.

Link

Formularer og inputfelter

Inputfelter til formularer er allerede stylet for dig. Du skal ikke gøre noget særligt ud over at bruge korrekt HTML.

Some choices


Kompakte formularer

Hvis man har behov for at vise formular-elementer på meget lidt plads, kan man anvende class form-mini på et form eller fieldset element.

Layout

Herunder kan du finde flere detaljer om, hvordan du nemt laver layouts i SDFI-stil.

Vi har lavet nogle eksempler, hvor du kan se forskellige layout-teknikker i praksis.

Kolonner og grids

Lav et simpelt kolonne-layout ved at tilføje ds-grid class til det element, der indeholder de elementer, som skal vises i kolonner.

Se demo

1
2
3
4

Fleksible kolonner

Hvis boksene gerne må bruge den plads, der er til rådighed, så kan du bruge ds-flexgrid class i stedet.

Se demo

1
2
3
4
5

Primære/sekundære kolonner

Brug class .ds-grid-2-1 på elementet udenom, når du vil vise to elementer som hhv. primær og sekundær kolonne.

Se demo

Primær / main
Sekundær

Brug class .ds-grid-1-2 hvis rækkefølgen skal være omvendt.

Se demo

Sekundær
Primær / main

Indholds-containere

Hvis du skal vise noget indhold i én kolonne midt i skærmen, så sæt ds-container class på elementet. Indholdet i denne tekst er centreret med class ds-container

Se demo

Simpel rækkevisning

Brug class ds-flex-row, hvis du blot vil vise to elementer ved siden af hinanden, og de skal være centreret i højden.
F.eks.:

Et tekstelement


    <p class="ds-flex-row">
      <button>En knap</button>
      <span>Et tekstelement</span>
    </p>
  

Indvendig afstand / padding

Du kan sætte den korrekte padding ved at bruge class ds-padding i HTML.

<div class="ds-padding"> ... </div>

Se demo

Indhold med ds-padding omkring sig.

Hvis du skal bruge den officielle padding i CSS, kan du bruge CSS custom property --padding.

.my-custom-class {
    padding: var(--padding);
  }

Specielle paddings

Du kan sætte en class med en specifik padding til særlige indrykninger o.l.

Du kan bygge en specifik class ved at kombinere:

  1. ds-pt, ds-pb, ds-pl, ds-pr for hhv. padding-top, padding-bottom, padding-left og padding-right
  2. -xxs, -xs, -sm, -md, -lg, -xl, -xxl for den størrelse padding, du ønsker

En class ds-pb-sm vil således give en padding-bottom: 0.5rem

Det samme resultat kan opnås ved at bruge CSS custom properties: style="padding-bottom: var(--space-sm);"

Når elementer skal flugte med hinanden

Når tekst og elementer med runde kanter (ikoner, knapper, etc.) står sammen, skal teksten og de runde elementer rykkes lidt i forhold til hinanden. Det er for at modvirke et optisk fænomen, hvor det ser ud som om, at de ikke står på linie.

Du kan gøre det ved at give teksten lidt ekstra padding med ds-optical-padding class ELLER give ikoner/knapper en justeringsmargin.

Her er din tekst med optical padding.


    <p class="ds-optical-padding">Her er din tekst</p>
    <button>En knap</button>
  

Her er din tekst


    <p>Her er din tekst</p>
    <button class="ds-optical-margin">En knap</button>
  

Her kan du også bruge CSS custom properties --optical-padding og --optical-margin til mere specialiserede layouts.

Udvendig afstand / margin

Du kan sætte den korrekte margin ved at bruge class ds-margin i HTML.

<div class="ds-margin"> ... </div>

Se demo

Indhold med ds-margin omkring sig

Hvis du skal bruge den officielle margin i CSS, kan du bruge CSS custom property --margin.

.my-custom-class {
    margin: var(--margin);
  }

Specielle margins

Du kan sætte en class med en specifik margin til særlige indrykninger o.l.

Du kan bygge en specifik class ved at kombinere:

  1. ds-mt, ds-mb, ds-ml, ds-mr for hhv. margin-top, margin-bottom, margin-left og margin-right
  2. -xxs, -xs, -sm, -md, -lg, -xl, -xxl for den størrelse margin, du ønsker

En class ds-mr-lg vil således give en margin-right: 2rem

Det samme resultat kan opnås ved at bruge CSS custom properties: style="margin-right: var(--space-lg);"

Header layout

Her er en standard header, som kan placeres i toppen af en webside.

Dataforsyningen Styrelsen for Dataforsyning og Infrastruktur

Designguide eksempler

Reference-implementationer af SDFIs designguide med HTML/CSS

Tabs

Laves ved at tilføje class ds-nav-tabs

Herunder er tabs i en mere simpel version.

Tab-komponent

Tab-komponenten laver automatisk en række indholdselementer om til tabbed elementer, når du omslutter dem med <ds-tabs></ds-tabs>

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Ikoner

Hvis du vil bruge SDFI-ikoner og logoer, skal du importere og indlejre NPM-pakken @dataforsyningen/icons

Ikoner kan indlejres som SVG eller importeres og indlejres som baggrundsbilleder i CSS, så du bare skal sætte en class ds-icon-* på et element for at bruge dem.

F.eks.

  • <span class="ds-icon-sider-icon-privatliv"></span>
  • <span class="ds-icon-sider-icon-terms"></span>
  • <span class="ds-icon-sider-icon-user"></span>
  • <span class="ds-icon-some-linkedin"></span>

Logo

Bemærk! SDFIs logo må kun bruges af Styrelsen for Dataforsyning og Infrastruktur.

Logoer skal indlejres på samme måde som ikoner, før du kan bruge dem. Enten som SVG-filer eller via CSS:

    
@import "@dataforsyningen/icons/css/logo-micro.css";
@import "@dataforsyningen/icons/css/logo-normal.css";
    
  

Sæt class ds-logo på et element for at vise SDFIs bomærke. Det kan f.eks. være på et link-element som vist herunder.

Logo fås i en mindre udgave ved at bruge class ds-logo-micro

Dataforsyningen Styrelsen for Dataforsyning og Infrastruktur

Hvis logo skal kunne ændre størrelse ift. skærmstørrelse, så brug ds-logo-responsive

Dataforsyningen Styrelsen for Dataforsyning og Infrastruktur

Nogle gange skal logo trækkes lidt til venstre for at få kronen til at være på linie med venstre kant af indholdet. Det gøres nemt ved at sætte ds-logo-pull-left på logo-elementet.

Eksempel indhold

Indholdet starter her.

Dataforsyningen Styrelsen for Dataforsyning og Infrastruktur

Her er lidt mere tekstindhold.

Favicon/bogmærkeikon

Som favicon bruges logo-simple-micro.svg

For at bruge det skal du indsætte denne linie i HTML <head> sektionen. Sørg for at "path" svarer til logofilens placering på serveren.

<link rel="shortcut icon" href="path/logo-simple-micro.svg">

Denne fil følger med i @dataforsyningen/css pakken under
/node-modules/@dataforsyningen/css/assets/logos/logo-simple-micro.svg

Produktkort/cards

Produktkort og cards laves nemt ved at sætte class ds-card på et element. Det første <img> element i et ds-card bliver altid vist som hovedbilledet.

Produktkort titel

Dette er et produktkort/card.

Produktkort titel

Dette er et produktkort/card.

Billeder og figurer

Billeder indsættes med img-elementet.

Billede af et stribet skib

Man kan vise et billede som figur med beskrivelse ved at bruge figure og figcaption sammen med billeder.

Figur 8. Cruz Diez's chromatic compositions on a historic battleship. Made for the First World War centenary commemorations in Liverpool.

Tabeller

Tabeller kræver intet særligt, da de allerede er stylet som default. Du skal blot bruge korrekt HTML.

User Details
No. Name Email
1 John Carter johncarter@mail.com
2 Peter Parker peterparker@mail.com
3 John Rambo johnrambo@mail.com

Lister

Definition list

Her er et eksempel på en definition list:
Definition term
Definition description
(Eksempel) Design Guide
En samling af tekst og billeder, der orienterer om korrekt brug af elementer i et designsystem.

Dialogboks

Dialogboks overskrift

Denne dialogbox indeholder en besked til dig.

Skjult panel

The thing

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Loading spinner

Popover

Popover content

Toast

API checker (Datafordeler checker)