Ako vycentrovať div v CSS (Flexbox)
Vizuálne vytvorte rozloženie CSS flexbox: ohybné smerovanie, zarovnanie obsahu, zarovnanie položiek, ohybný obal a medzera na kontajneri, plus flex-grow, flex-shrink a flex-base na dieťa, to všetko so živým náhľadom a kopírovateľným CSS.
Výsledok
Tu je priama odpoveď na najčastejšie kladenú otázku v CSS: ak chcete vycentrovať div, umiestnite display: flex, justify-content: center a align-items: center na jeho rodič. To je všetko – tri vyhlásenia na nádobe a dieťa v nej sedí dokonale vycentrované horizontálne aj vertikálne, a to v akejkoľvek veľkosti. Táto stránka otvorí generátor s presne touto už aplikovanou kombináciou, takže náhľad nižšie ukazuje, že práve teraz funguje na troch očíslovaných poliach.
Pred flexboxom potrebovalo centrovanie div hacky: margin: 0 auto len horizontálne vycentrované a fungovalo len na bloku s pevnou šírkou; vertikálne centrovanie znamenalo polohu: absolútnu so zápornými okrajmi alebo transformačný trik, oboje je krehké v momente, keď obsah zmení veľkosť. justify-content ovláda hlavnú os a align-items ovláda krížovú os – spolu sa vycentrujú v oboch smeroch bez ohľadu na to, aké vysoké alebo široké je dieťa, a práve preto sa táto dvojica stala štandardnou odpoveďou.
Potiahnite ľubovoľný ovládací prvok nižšie a sledujte, ako tri políčka ukážky zostanú vycentrované, keď kontajner mení tvar, alebo medzi ne pridajte medzeru. Keď to vyzerá správne, skopírujte blok CSS v spodnej časti priamo do šablóny so štýlmi – funguje to rovnako v každom modernom prehliadači, nepotrebujete žiadnu knižnicu.