1. FEJEZET
Flex konténer, flex elemek, két tengely
A display: flex a szülőt flex konténerré teszi, a közvetlen gyerekei flex elemek lesznek. A konténer egyetlen irány, a fő tengely mentén rendezi sorba az elemeket; a rá merőleges irány a kereszttengely. Minden flexbox-tulajdonság e két tengely valamelyikére vonatkozik, ezért a példákban mindig kirajzoljuk őket:
fő tengely – erre hat a justify-content, a gap és a flex-grow
kereszttengely – erre hat az align-items
PRÓBÁLD KI
Ugyanaz a három div
2. FEJEZET
A fő tengely iránya: flex-direction
A row (alapértelmezés) vízszintesen, a column függőlegesen vezeti a fő tengelyt; a -reverse változatok megfordítják az irányt. Figyeld a nyilakat: oszlopirányban a fő tengely függőleges lesz – ezért ilyenkor a justify-content függőlegesen, az align-items vízszintesen igazít.
PRÓBÁLD KI
flex-direction
3. FEJEZET
Igazítás a fő tengelyen: justify-content
Ha az elemek nem töltik ki a fő tengelyt, a justify-content dönti el, hová kerül a szabad hely: az elejére, a végére, középre, vagy az elemek közé. A space-between csak az elemek közé tesz helyet, a space-around minden elem két oldalára egyformán (ezért a szélén fele akkora a hézag), a space-evenly minden hézagot egyformára vesz.
PRÓBÁLD KI
Hová kerül a szabad hely?
4. FEJEZET
Igazítás a kereszttengelyen: align-items
Az align-items az elemeket a kereszttengely mentén igazítja. Az alapértelmezett stretch kinyújtja őket a konténer teljes magasságára (ha nincs saját magasságuk). A baseline a szövegek alapvonalát igazítja egy vonalba – ezt piros vonal jelzi.
PRÓBÁLD KI
Különböző magasságú elemek
két sor
Egyetlen elem igazítása eltérhet a többiekétől: az elemen beállított align-self felülírja a konténer align-items értékét.
5. FEJEZET
Több sor: flex-wrap és hézag: gap
Alapból (nowrap) minden elem egy sorban marad: ha nem férnek el, a böngésző összenyomja őket, amennyire a tartalmuk engedi, utána kilógnak. A wrap megengedi, hogy új sorba törjenek. A gap az elemek közé tesz hézagot (a széleken nem) – a csíkozott sávok mutatják.
PRÓBÁLD KI
Tördelés és hézag
6. FEJEZET
A szabad hely elosztása: flex-grow
A flex-grow azt mondja meg, hogy a fő tengelyen megmaradt szabad helyből hány részt kap az elem. 0 (alapértelmezés) esetén semmit; ha az egyik elem 2-t, a másik 1-et kap, a szabad hely kétharmada az elsőé, egyharmada a másodiké. Nem a teljes szélesség arányát adja meg, hanem a többletét!
PRÓBÁLD KI
Ki mennyit kap a maradékból?
Párja a flex-shrink (mennyire nyomható össze, ha kevés a hely) és a flex-basis (a kiinduló méret). A rövidített flex: 1 jelentése: flex-grow: 1; flex-shrink: 1; flex-basis: 0% – ilyenkor az elemek a teljes helyet osztják fel egyenlően, a tartalmuk hosszától függetlenül.
7. FEJEZET
Megjelenítési sorrend: order
Az order (alapértelmezés: 0) a megjelenítés sorrendjét változtatja meg: a kisebb érték kerül előre; egyenlőség esetén a HTML-beli sorrend marad. A dobozok alsó felirata a HTML-beli helyüket mutatja.
PRÓBÁLD KI
Sorrend átrendezése
Az order csak a látványt rendezi át: a Tab billentyű és a képernyőolvasó továbbra is a HTML sorrendjét követi. Ha a sorrendnek jelentése van, a HTML-ben rendezd át.
ÖSSZEFOGLALÁS
Amit érdemes megjegyezni
- Flexbox = egy tengely mentén rendezés; a
flex-directionadja a fő tengelyt. justify-content→ fő tengely,align-items→ kereszttengely.flex-wrap: wrapnélkül nincs új sor; agapcsak az elemek közé tesz hézagot.flex-growa szabad hely többletét osztja szét;flex: 1az egész helyet egyenlően.ordercsak vizuális sorrend.