Flexbox és Grid játszótér
Építs flexbox és CSS grid elrendezéseket vizuálisan. Állítsd a tároló és az elemek tulajdonságait, nevezz el rácsterületeket, és másold a CSS- és HTML-kódot.
Előbeállítások
Kattints egy elemre az előnézetben a kijelöléséhez, és szerkeszd lent a tulajdonságait.
A Flexbox és Grid játszótér használata
- Válassz Elrendezést: Flexbox vagy Grid, vagy indulj az Előbeállítások egyikéből (Középre igazított, Navigációs sáv, Tördelődő kártyák, Oldalsáv, Reszponzív kártyarács, Holy grail, 12 oszlop).
- Állítsd be a Tároló tulajdonságait. Flexboxnál:
flex-directionésflex-wrap. Gridnél:grid-template-columns,grid-template-rows,grid-auto-flow,justify-itemsésgrid-template-areas. Mindkettőnél közös ajustify-content, azalign-items, azalign-content, arow-gap (px)és acolumn-gap (px). - Az Elemeket az Elem hozzáadása, a Kijelölt elem eltávolítása és a Kijelölt elem visszaállítása gombbal kezelheted. Egy elem kijelöléséhez kattints rá az előnézetben (vagy told rá a fókuszt Tabbal, és nyomj Entert).
- Szerkeszd a kijelölt elemet:
orderésalign-selfmindkét módban,flex-grow,flex-shrinkésflex-basisflexboxnál, valamintgrid-area,grid-column,grid-rowésjustify-selfgridnél. - A CSS-kódot és a hozzá tartozó HTML-kódot a Másolás gombokkal másolhatod ki.
Minden vezérlő szabványos űrlapmező, így az egész játszótér csak billentyűzettel is használható. A CSS csak azokat a tulajdonságokat tartalmazza, amelyeket az alapértelmezettől módosítottál, így rövid marad, az azonos beállítású elemek pedig egy szabályt osztanak (.item, ha mind egyezik).
A flexbox dióhéjban
A flexbox az elemeket egy tengely mentén rendezi el. A flex-direction adja meg a főtengelyt (sor vagy oszlop); a justify-content ennek mentén osztja el az elemeket (center, space-between…), az align-items pedig a keresztirányú tengelyen helyezi el őket. A flex-wrap: wrap esetén a nem elférő elemek új sorba kerülnek, az align-content pedig ezeket a sorokat osztja el.
Minden elemnek három méretezési tulajdonsága van, amelyeket általában együtt, flex néven írnak:
flex-basis: a kiindulási méret (azautoa tartalmat vagy awidthértéket használja);flex-grow: az elem mennyit vesz el a szabad helyből (0 = semmit, 1 = egyenlő részt);flex-shrink: mennyit ad fel, ha kevés a hely (0 = soha nem zsugorodik).
Az Oldalsáv előbeállítás a klasszikus mintát mutatja: egy flex-basis: 200px és flex-shrink: 0 értékű oldalsáv, és egy flex-grow: 1 értékű fő terület.
A CSS Grid dióhéjban
A grid az elemeket két dimenzióban rendezi el. A grid-template-columns: repeat(3, 1fr) három egyenlő oszlopot hoz létre; az fr a szabad hely egy része. A repeat(auto-fill, minmax(120px, 1fr)) annyi legalább 120 px széles oszlopot hoz létre, amennyi elfér, így media query nélkül kapsz reszponzív kártyarácsot.
Az elemek sorban töltik ki a cellákat, hacsak el nem helyezed őket: a grid-column: span 2 két oszlop szélesre teszi az elemet, a grid-column: 1 / -1 pedig az egész soron végigfeszíti.
A grid-template-areas lehetővé teszi, hogy nevekkel rajzold meg az elrendezést. Írj soronként egy sort, például header header, majd nav main, és adj az elemeknek grid-area: header vagy grid-area: main értéket. A pont üres cellát jelöl. Minden sorban ugyanannyi cellának kell lennie, és minden névnek téglalapot kell alkotnia; ellenkező esetben az eszköz figyelmeztet.
Gyakori kérdések
Flexboxot vagy gridet használjak?
Flexboxot egydimenziós tartalomhoz, például eszköztárakhoz, gombcsoportokhoz vagy középre igazításhoz. Gridet akkor, ha a soroknak és oszlopoknak igazodniuk kell, mint az oldalelrendezéseknél és a kártyagalériáknál. Jól kombinálhatók: kártyák rácsa, amelyek belseje flexboxot használ.
Miért nem változtat semmit az align-items?
Sorban az elemek alapértelmezés szerint a tároló magasságára nyúlnak, a tároló pedig csak olyan magas, mint a tartalma. Adj neki magasságot, vagy nézd az előnézetet, amelynek van minimális magassága.
Mit csinál a gap?
Az elemek közötti teret állítja be (nem körülöttük). Flexboxban és gridben is működik minden mai böngészőben.
Megváltoztatja az order az olvasási sorrendet?
Nem. Az order csak vizuálisan mozgatja az elemeket; a képernyőolvasók és a billentyűzetes navigáció továbbra is a HTML sorrendjét követik, ezért használd mértékkel.
Kapcsolódó eszközök
- CSS formázó és tömörítő Szépítsd a kusza CSS-t tiszta behúzással, vagy tömörítsd csso-val, és nézd meg a méretet előtte és utána. A böngésződben fut, semmit nem töltünk fel.
- CSS border-radius generátor Formázd a CSS border-radiust vizuálisan, húzható pontokkal. Állítsd be az egyes sarkokat px-ben vagy %-ban, készíts foltformákat, és másold ki a kódot.
- CSS box-shadow generátor Tervezz rétegzett CSS box-shadow árnyékokat élő előnézettel. Állítsd az eltolást, elmosást és színt, próbáld ki a neumorfizmust, és másold a kódot.