Problémy dlaždicového rozložení ve flexboxech v CSS
První problém dlaždicového rozložení je celkem zřejmý hned na první pohled
- je velmi nepohodlné, že rodiči musíme
explicitně nastavovat výšku. Může se nám přece klidně stát,
že počet bloků se bude dynamicky měnit
a jejich množství bude někdy menší,
jindy větší než 9.
A druhý problém nastane, pokud bude počet bloků takový, že v poslední řadě bude nedostatečný počet bloků. V tomto případě bude poslední řada vypadat hrozně:
<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>
.parent {
display: flex;
flex-direction: row;
justify-content: space-between;
flex-wrap: wrap;
width: 320px;
border: 1px solid red;
}
.child {
box-sizing: border-box;
width: 100px;
height: 100px;
border: 1px solid green;
}
:
Vychází nám, že dokonce i vodorovně hodnota
space-between v našem případě funguje špatně.
Shrňme si to: pokud je množství vašich potomků
vždy konstantní a vejde se normálně do
rodiče, pak je dlaždicové rozložení na space-between
docela pohodlná věc. V opačném případě
budeme muset vymyslet něco jiného.
Je dáno 12 prvků. Vytvořte z nich
dlaždicové rozložení po 4 prvcích na řádek s šířkou
každého prvku 100px a mezerou
mezi nimi 20px.
Je dáno 12 prvků. Vytvořte z nich
dlaždicové rozložení po 3 prvcích na řádek s šířkou
každého prvku 150px a mezerou
mezi nimi 10px.