Steg 1: Aktivera Flexbox display
Allt börjar med display: flex. Det förvandlar elementet till en flex-container och dess barn till flex-items som läggs ut horisontellt.
/* Även: inline-flex för inline-nivå */
Steg 2: Riktning flex-direction
Bestämmer huvudaxeln — i vilken riktning flex-items läggs ut.
Steg 3: Radbrytning flex-wrap
Som standard tvingas alla items på en rad. Med flex-wrap tillåts de att brytas till nästa rad.
Steg 4: Huvudaxeln justify-content
Fördelar utrymme längs huvudaxeln (horisontellt vid row).
Steg 5: Tvärsaxeln align-items
Justerar items längs tvärsaxeln (vertikalt vid row).
Steg 6: Flerradsjustering align-content
Fördelar utrymme mellan rader när flex-wrap: wrap är aktivt. Påverkar inte enskilda rader utan hela gruppen.
flex-wrap: wrap;
Steg 7: Mellanrum gap
Skapar jämnt avstånd mellan items utan att använda marginaler. Kan sättas separat med row-gap och column-gap.
Steg 8: Ordning order
Ändrar visuell ordning utan att ändra HTML-strukturen. Standard är 0. Lägre värde = visas tidigare.
order: 3; /* A */
order: 1; /* B */
order: -1; /* C */
order: 0; /* D */
Steg 9: Växa & Krympa flex-grow / shrink
flex-grow bestämmer hur mycket ett item ska växa relativt andra. flex-shrink bestämmer hur det krymper om utrymmet tar slut.
grow:1
grow:1
grow:1
basis:300px
basis:300px
flex-shrink: 1; /* Item 1 */
flex-shrink: 3; /* Item 2 */
Steg 10: Basstorlek flex-basis
Sätter den initiala storleken på ett item innan flex-grow och flex-shrink appliceras. Ersätter width i flex-kontext.
flex: 0 1 100px; /* Item A */
flex: 0 1 200px; /* Item B */
flex: 0 1 auto; /* Item C */
flex: 0 1 30%; /* Item D */
flex: 2; /* = flex: 2 1 0% → 50% */
flex: 1; /* = flex: 1 1 0% → 25% */
Steg 11: Individuell justering align-self
Åsidosätter align-items för ett enskilt item.
/* ✦ Individuella överskrivningar: */
align-self: center; /* Item B */
align-self: flex-end; /* Item D */
align-self: stretch; /* Item E */
Steg 12: Nästade Flex bonus
Flex-containers kan nästlas. Ett flex-item kan själv vara en flex-container — det ger kraftfulla, komplexa layouter.
display: flex;
flex-direction: column; /* yttre */
/* Inre body: */
display: flex; /* rad: sidebar + main */
/* Main content: */
display: flex;
flex-wrap: wrap;
Reklam