⊗mkSpFxFT 99 of 128 menu

Dlaždicové rozložení pomocí flexboxů v CSS

Pojďme se nyní naučit vytvářet dlaždicové rozložení pomocí flexboxů. Nejprve uspořádejme flexboxy do několika řad, po třech blocích v řadě.

K tomu nastavme rodiči flexboxů šířku na 300px a flex-wrap na hodnotu wrap, a potomkům šířku na 100px:

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> <div class="child">4</div> <div class="child">5</div> <div class="child">6</div> <div class="child">7</div> <div class="child">8</div> <div class="child">9</div> </div> .parent { display: flex; flex-wrap: wrap; width: 300px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; height: 100px; border: 1px solid green; }

:

Nyní přidejme mezeru mezi našimi bloky vodorovně. K tomu zvětšeme šířku rodiče, abychom vytvořili dodatečný prostor pro odsazení.

Protože máme tři bloky v řadě, znamená to, že mezi nimi jsou dvě mezery. Řekněme, že chceme, aby každá mezera měla šířku 10px. Vyplývá z toho, že šířku rodiče je třeba zvětšit o 20px, tedy nastavit ne 300px, ale 320px.

Nyní nastavme rodiči bloků justify-content na hodnotu space-between a dosáhneme požadované mezery mezi bloky:

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> <div class="child">4</div> <div class="child">5</div> <div class="child">6</div> <div class="child">7</div> <div class="child">8</div> <div class="child">9</div> </div> .parent { display: flex; flex-wrap: wrap; justify-content: space-between; width: 320px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; height: 100px; border: 1px solid green; }

:

Nyní přidejme stejnou mezeru mezi bloky i svisle. K tomu lze nastavit vlastnost align-content na hodnotu space-between.

K tomu je však třeba nastavit rodiči výšku, jinak align-content nebude fungovat. Nastavme výšku na 320px. V tomto případě se nám vejdou právě tři řady bloků o výšce 100px plus dvě mezery mezi řadami o 10px.

Spusťme:

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> <div class="child">4</div> <div class="child">5</div> <div class="child">6</div> <div class="child">7</div> <div class="child">8</div> <div class="child">9</div> </div> .parent { display: flex; flex-direction: row; justify-content: space-between; align-content: space-between; flex-wrap: wrap; width: 320px; height: 320px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; height: 100px; border: 1px solid green; }

:

Vše funguje skvěle, ale existují některé problémy, které rozebereme v následující lekci.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout