Flexbox, zarovnání, rozmístění, mezery
Flexbox (CSS Flexible Box Layout) je jednorozměrný layout systém v CSS. Rozmísťuje prvky buď v řádku, nebo ve sloupci s velkou kontrolou nad zarovnáním, mezerami a velikostmi.
Před Flexboxem se layout dělal různými hacky:
| Éra | Technika | Problémy |
|---|---|---|
| 90. léta | <table> pro layout |
Sémanticky špatně, neresponzivní |
| 2000-2010 | float: left/right |
Komplikované, vyžadovalo clearfix hacks |
| 2010-2015 | display: inline-block |
Problém s mezerami, vertikálním zarovnáním |
| 2015+ | Flexbox | Elegantní, intuitivní, plně podporovaný |
| 2017+ | CSS Grid | Pro 2D layout |
Flexbox finalizován jako W3C standard v roce 2017, prohlížeče ho podporují od roku 2015. Dnes funguje úplně všude, žádné prefixy nepotřebuješ.
Flexbox vs Grid: Flexbox = 1D (jen řádek nebo jen sloupec). Grid = 2D (řádky a sloupce současně). Pro layout stránky se kombinují: Grid pro vnější layout, Flexbox uvnitř.
