FlexBox
CSS
Børre Stenseth

Flexbox

Hva

I denne modulen skal vi se litt nærmere på hvordan vi kan organisere elementer inne i et annet element. Vi bruker CSS-egenskapen flex.

Se f.eks. Flexbox i CSS-spesifikasjonen [1] eller A Complere guide to Flexbox [2] eller Mozilla Developer Network [3]

I modulen Posisjonering ser vi på hvordan vi enkelt kan plassere et element i sentrum av et annet element blandt annet ved hjelp av flex, mens vi her skal se litt mer på flere muligheter.

Det er vanlig å framstille prinsippene i Flexbox slik:

flex-ill

Det er viktig å merke seg noen grunnleggende prinsipper:

  • Flexbox er en ren CSS-mekanisme og er ikke koplet til spesielle HTML-tager. Det vil si at både container og item i illustrasjonen over kan være f.eks. div eller article eller nav eller annet. Merk imidlertid at display mode for items alltid vil være block.
  • Beskrivelsen baseres på en hovedakse (main) og en perpendikulær akse (cross). Begrepene vertikal og horisontal inngår ikke i beskrivelsen. Dette er nettop fordi flexbox skal fungere når en enhet, f.eks. en mobiltelefon, roteres. En av hovedargumentene for flexbox er nettop å fungere i forbindelse med responsive design.

Noen eksempler

Vi bruker i alle eksemplene div-elementet både som container og som item, og fyller item-divene med litt forskjellig.

Eksempel1

Hallo
alle
sammen

_eks1-css

Eksempel2

Hallo
alle
sammen

_eks2-css

Eksempel3

Hallo
alle
sammen
?

_eks3-css

Eksempel4

Hallo
alle
sammen
?

_eks4-css

Eksempel5

Hallo
alle
sammen
?

_eks5-css

Eksempel6

Hallo
alle
sammen
?

_eks6-css

Mal

Den siden du sr på nå og (nesten) alle andre sider i dette materialet er bygget opp med en struktur basert på flex.

Du kan inspisere denne strukturen på denne siden:
mal.html https://borres.hiof.no/wep/css/flex/mal.html

Referanser
  1. Flexbox i CSS-spesifikasjonen W3C www.w3.org/TR/css3-flexbox/ 02-10-2015
  1. A Complere guide to Flexbox The Lodge css-tricks.com/snippets/css/a-guide-to-flexbox/ 02-10-2015
  1. Mozilla Developer Network MDN developer.mozilla.org/en-US/docs/Web/CSS 02-10-2015