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ě:

html<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>
css.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.

Задание 1

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.

Задание 2

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.