Generátor Flexbox a CSS Grid
Sestavuj rozložení flexbox a CSS grid vizuálně. Nastav vlastnosti kontejneru a položek, pojmenuj oblasti mřížky, sleduj výsledek živě a zkopíruj CSS a HTML.
Předvolby
Kliknutím na položku v náhledu ji vybereš a níže upravíš její vlastnosti.
Jak používat hřiště pro flexbox a grid
- Vyber Rozložení: Flexbox nebo Grid, nebo začni jednou z Předvoleb (Vycentrované, Navigační lišta, Zalamované karty, Postranní panel, Responzivní mřížka karet, Svatý grál, 12 sloupců).
- Nastav vlastnosti Kontejneru. U flexboxu:
flex-directionaflex-wrap. U gridu:grid-template-columns,grid-template-rows,grid-auto-flow,justify-itemsagrid-template-areas. Společné jsoujustify-content,align-items,align-content,row-gap (px)acolumn-gap (px). - Spravuj Položky pomocí Přidat položku, Odstranit vybranou položku a Obnovit vybranou položku. Položku vybereš kliknutím v náhledu (nebo na ni přejdeš klávesou Tab a stiskneš Enter).
- Uprav vybranou položku:
orderaalign-selfv obou režimech,flex-grow,flex-shrinkaflex-basisu flexboxu agrid-area,grid-column,grid-rowajustify-selfu gridu. - Zkopíruj Kód CSS a odpovídající Kód HTML jejich tlačítky Kopírovat.
Každý ovládací prvek je standardní formulářové pole, takže celé hřiště funguje jen s klávesnicí. CSS obsahuje pouze vlastnosti, které jsi změnil oproti výchozím hodnotám, takže je krátké, a položky se stejným nastavením sdílejí jedno pravidlo (.item, když se shodují všechny).
Flexbox ve zkratce
Flexbox rozmisťuje položky podél jedné osy. flex-direction určuje hlavní osu (řádek nebo sloupec); justify-content rozděluje položky podél ní (center, space-between…) a align-items je umisťuje na vedlejší ose. S flex-wrap: wrap se položky, které se nevejdou, přesunou na nový řádek a align-content pak rozmisťuje tyto řádky.
Každá položka má tři vlastnosti velikosti, obvykle zapisované společně jako flex:
flex-basis: výchozí velikost (autopoužije obsah nebowidth);flex-grow: kolik volného místa položka zabere (0 = žádné, 1 = rovný podíl);flex-shrink: kolik se vzdá, když místa není dost (0 = nikdy se nezmenší).
Předvolba Postranní panel ukazuje klasický vzor: postranní panel s flex-basis: 200px a flex-shrink: 0 a hlavní oblast s flex-grow: 1.
CSS Grid ve zkratce
Grid rozmisťuje položky ve dvou rozměrech. grid-template-columns: repeat(3, 1fr) vytvoří tři stejné sloupce; fr je podíl volného místa. repeat(auto-fill, minmax(120px, 1fr)) vytvoří tolik sloupců o šířce alespoň 120 px, kolik se vejde, což dá responzivní mřížku karet bez jediného media query.
Položky vyplňují buňky popořadě, pokud je neumístíš: grid-column: span 2 udělá položku širokou dva sloupce a grid-column: 1 / -1 ji roztáhne přes celý řádek.
grid-template-areas umožňuje nakreslit rozložení pomocí názvů. Napiš jeden řádek na řádek textu, například header header a pak nav main, a položkám přiřaď grid-area: header nebo grid-area: main. Tečka označuje prázdnou buňku. Každý řádek musí mít stejný počet buněk a každý název musí tvořit obdélník; jinak tě nástroj upozorní.
Časté dotazy
Mám použít flexbox, nebo grid?
Flexbox pro jednorozměrný obsah, jako jsou panely nástrojů, skupiny tlačítek nebo centrování. Grid, když se řádky a sloupce musí zarovnat, například u rozložení stránek a galerií karet. Dobře se kombinují: mřížka karet, jejichž vnitřek používá flexbox.
Proč align-items nic nemění?
V řádku se položky ve výchozím stavu natahují na výšku kontejneru a ten je vysoký jen tak, jak je vysoký jeho obsah. Dej mu výšku, nebo se podívej na náhled, který má minimální výšku.
K čemu slouží gap?
Nastavuje mezeru mezi položkami (ne kolem nich). Funguje ve flexboxu i v gridu ve všech současných prohlížečích.
Mění order pořadí čtení?
Ne. order posouvá položky jen vizuálně; čtečky obrazovky a navigace klávesnicí stále sledují pořadí v HTML, proto ho používej střídmě.
Související nástroje
- Formátovač a minifikátor CSS Zpřehledni nepřehledné CSS čistým odsazením nebo ho minifikuj pomocí csso a podívej se na velikost před a po. Funguje v prohlížeči, nic se nenahrává.
- Generátor border-radius Tvaruj CSS border-radius vizuálně tažením bodů. Nastav každý roh v px nebo %, použij eliptickou syntaxi s 8 hodnotami, vytvoř blob a zkopíruj kód.
- Generátor box-shadow Navrhuj vrstvené CSS stíny box-shadow s živým náhledem. Nastav posun, rozostření, rozšíření, barvu, krytí a inset, vyzkoušej neumorfismus a zkopíruj kód.