CSSда флекслар устида гилёмча муаммолари

Гилёмчанинг биринчи муаммоси умуман очиқ-ойдин - ота-онага баландликни аниқ белгилаш мажбурий бўлиши жуда қулай эмас. Axири, бизда блоклар сони динамик ўзгариши ва уларнинг сони 9 дан кам ёки кўп бўлиши мумкин.

Аммо иккинчи муаммо шунда пайдо бўладики, агар блоклар сони oxирий қаторда етарли блок бўлмаган ҳолатда. Бу ҳолатда oxирий қатор жуда ночирой кўринади:

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;
}

Результат:

Маълум бўлдики, ҳатто gorizontal йўналишда ҳам space-between қиймати бизнинг ҳолатимизда ямон ишлаяпти.

Хулоса: агар сизнинг фарзандларингизнинг сони доим ўзгармас бўлиб, ота-онага жойлаша олса, space-between даги гилёмча жуда қулай нарса. Акс ҳолда бошқа бир нарсани топиш керак бўлади.

Задание 1

12 та элемент берилган. Улардан 4 та элемент қаторда бўлган гилёмча яратинг, ҳар бир элементнинг эни 100px ва улар орасидаги масофа 20px бўлсин.

Задание 2

12 та элемент берилган. Улардан 3 та элемент қаторда бўлган гилёмча яратинг, ҳар бир элементнинг эни 150px ва улар орасидаги масофа 10px бўлсин.