Čo je Flexbox? Popis všetkých vlastností css, základných princípov, výhod a nevýhod. Flexbox niekoľko užitočných príkladov práce s užitočnými odkazmi Flex

Flexboxy sú ideálne na vytváranie bežne používaných rozložení webových stránok, ako je napríklad trojstĺpcový, takzvaný „svätý grál“, kde by všetky stĺpce mali zaberať plnú výšku bez ohľadu na ich obsah. V tomto prípade je v zdrojovom kóde hlavný obsah pred navigáciou a na samotnej stránke je hlavný obsah po navigácii.

Páči sa ti to.

Príklad

Klobúk
Článok
Suterén

Pred príchodom flexboxu bolo dosť ťažké získať tento druh rozloženia bez použitia nejakého hacku. Vývojári museli často robiť veci, ako je pridávanie ďalších značiek, používanie záporných okrajov a ďalšie triky, aby sa všetko správne zoradilo bez ohľadu na množstvo obsahu alebo veľkosť obrazovky. Ako však ukazuje príklad vyššie, na flexboxe je všetko oveľa jednoduchšie.

Tu je zhrnutie kódu. V tomto príklade urobíme z prvku #main flexibilný kontajner, pričom hlavičku a pätu ponecháme ako prvky na úrovni bloku. Inými slovami, iba stredná časť sa stáva flexboxom. Tu je úryvok, ktorý z neho robí flexibilný kontajner.

#hlavný ( displej: flex; min-výška: calc(100vh - 40vh); )

Na výrobu flex kontajnera používame len display: flex. Všimnite si, že sme tiež nastavili hodnotu min-height pomocou funkcie calc() a nastavili #main na 100 % výšky výrezu mínus výška uzáveru a suterénu (každý 20vh). To zaisťuje, že rozloženie zaberie celú výšku obrazovky, aj keď má málo obsahu. V dôsledku toho sa päta nikdy nezvýši a nezostane pod ňou prázdne miesto, ak obsah zaberie menej ako výšku obrazovky.

Výpočet minimálnej výšky bol dosť jednoduchý vzhľadom na to, že sme na všetky prvky použili veľkosť boxu: border-box. Ak by sme to neurobili, museli by sme pridať hodnota výplne na sumu, ktorá sa má odpočítať.

Po inštalácii flex kontajnera sa zaoberáme flex položkami.

#hlavný > článok ( flex: 1; ) #main > nav, #main > aside ( flex: 0 0 20vw; background: beige; ) #main > nav (poradie: -1; )

Vlastnosť flex je skratka pre vlastnosti flex-grow, flex-shrink a flex-base. V prvom prípade sme napísali iba jednu hodnotu, takže flex nastavuje vlastnosť flex-grow. V druhom prípade sme napísali všetky tri hodnoty pre