Hopp til innhold

Responsiv styling

Løsningene våre skal fungere på alle skjermstørrelser

Responsive komponenter

Alle komponenter i designsystemet er responsive og tilpasser seg skjermstørrelsen. Dette er viktig for at designsystemet skal fungere på alle enheter, i nettlesere så vel som i native applikasjoner.

Breakpoints

Vi bruker et sett med breakpoints tilpasset de vanligste skjermstørrelsene for å definere hvordan innholdet skal se ut. Breakpointene er definert som Less-variabler i ffe-core og kan brukes i media queries.

@breakpoint-sm: 480px;      // Mobil
@breakpoint-md: 768px;      // Nettbrett
@breakpoint-lg: 1024px;     // Laptop
@breakpoint-xl: 1280px;     // Stor skjerm

Mobile first

Breakpointene kan i prinsippet brukes på mange forskjellige måter. Vi har valgt å bruke en mobile first-tilnærming, som betyr at vi først designer for mobil og deretter legger til stiler eller overstyringer for større skjermer, i motsetning til å designe store layouter først og deretter fjerne stiler på små skjermer. I Less/CSS-sammenheng betyr dette at vi alltid bruker min-width i media queries. På denne måten unngår vi også potensielle konflikter mellom min-width og max-width.

Et klassisk eksempel er knapper. Her vil man ofte sette 100% bredde for å sikre stor nok klikkflate på mobil, og deretter overstyre denne med en fast bredde på større skjermer:

.button { width: 100%; }

@media (min-width: @breakpoint-md) {
  .button { width: auto; }
}