Flexbox- och grid-lekplats
Bygg layouter med flexbox och CSS Grid visuellt. Ställ in behållare och element, namnge grid-områden, se resultatet direkt och kopiera CSS och HTML.
Förinställningar
Klicka på ett element i förhandsvisningen för att välja det och redigera dess egenskaper nedan.
Så använder du flexbox- och grid-lekplatsen
- Välj en Layout: Flexbox eller Grid, eller utgå från någon av Förinställningar (Centrerat, Navigeringsfält, Radbrytande kort, Sidofält, Responsivt kortrutnät, Holy grail, 12 kolumner).
- Ställ in egenskaperna för Behållare. För flexbox:
flex-directionochflex-wrap. För grid:grid-template-columns,grid-template-rows,grid-auto-flow,justify-itemsochgrid-template-areas. Båda lägena delarjustify-content,align-items,align-content,row-gap (px)ochcolumn-gap (px). - Hantera Element med Lägg till element, Ta bort valt element och Återställ valt element. Klicka på ett element i förhandsvisningen (eller tabba dit och tryck på Enter) för att välja det.
- Redigera det valda elementet:
orderochalign-selfi båda lägena,flex-grow,flex-shrinkochflex-basisför flexbox, samtgrid-area,grid-column,grid-rowochjustify-selfför grid. - Kopiera CSS-kod och den matchande HTML-kod med deras knappar Kopiera.
Alla kontroller är vanliga formulärfält, så hela lekplatsen fungerar med enbart tangentbordet. CSS-koden innehåller bara de egenskaper du har ändrat från standardvärdena, vilket håller den kort, och element med identiska inställningar delar en regel (.item när alla är lika).
Flexbox i korthet
Flexbox placerar element längs en axel. flex-direction anger huvudaxeln (en rad eller en kolumn); justify-content fördelar elementen längs den (center, space-between …), och align-items placerar dem på tväraxeln. Med flex-wrap: wrap flyttas element som inte får plats till en ny rad, och align-content fördelar sedan raderna.
Varje element har tre storleksegenskaper, som oftast skrivs tillsammans som flex:
flex-basis: startstorleken (autoutgår från innehållet ellerwidth);flex-grow: hur stor del av det lediga utrymmet elementet tar (0 = inget, 1 = en lika stor andel);flex-shrink: hur mycket det ger upp när utrymmet inte räcker (0 = krymper aldrig).
Förinställningen Sidofält visar det klassiska mönstret: ett sidofält med flex-basis: 200px och flex-shrink: 0, och ett huvudområde med flex-grow: 1.
CSS Grid i korthet
Grid placerar element i två dimensioner. grid-template-columns: repeat(3, 1fr) skapar tre lika breda kolumner; fr är en andel av det lediga utrymmet. repeat(auto-fill, minmax(120px, 1fr)) skapar så många kolumner på minst 120px som får plats, vilket ger ett responsivt kortrutnät utan en enda mediefråga.
Elementen fyller cellerna i tur och ordning, om du inte placerar dem: grid-column: span 2 gör ett element två kolumner brett, och grid-column: 1 / -1 sträcker det över hela raden.
Med grid-template-areas kan du rita layouten med namn. Skriv en rad i rutnätet per textrad, till exempel header header och sedan nav main, och ge elementen grid-area: header eller grid-area: main. En punkt markerar en tom cell. Alla rader måste ha lika många celler och varje namn måste bilda en rektangel; annars varnar verktyget dig.
Vanliga frågor
Ska jag använda flexbox eller grid?
Flexbox för endimensionellt innehåll som verktygsfält, knappgrupper eller centrering. Grid när rader och kolumner måste linjera, som i sidlayouter och kortgallerier. De fungerar bra ihop: ett rutnät av kort vars innehåll använder flexbox.
Varför ändrar align-items ingenting?
I en rad sträcks elementen som standard ut till behållarens höjd, och behållaren är bara så hög som sitt innehåll. Ge den en höjd, eller titta i förhandsvisningen, som har en minsta höjd.
Vad gör gap?
Det anger avståndet mellan elementen (inte runt dem). Det fungerar i både flexbox och grid i alla aktuella webbläsare.
Ändrar order läsordningen?
Nej. order flyttar bara elementen visuellt; skärmläsare och tangentbordsnavigering följer fortfarande ordningen i HTML-koden, så använd det sparsamt.
Varför heter förinställningen ”Holy grail”?
Det är webbutvecklarnas klassiska namn på layouten med sidhuvud, sidfot, ett huvudinnehåll och ett sidofält på varje sida – länge svår att bygga, men enkel med grid-template-areas.
Relaterade verktyg
- CSS-formaterare och minifierare Snygga till rörig CSS med rena indrag eller minifiera den med csso, och se storleken före och efter. Körs i din webbläsare, inget laddas upp.
- Border-radius-generator Forma CSS border-radius visuellt med dragbara handtag. Ställ in varje hörn i px eller %, använd elliptisk syntax, skapa blobbar och kopiera koden.
- Box-shadow-generator Skapa CSS-skuggor i flera lager med direkt förhandsvisning. Ställ in förskjutning, oskärpa, spridning, färg och inset, och kopiera koden.