Współczynnik ściśliwości bloków flex w CSS

W poprzedniej lekcji dowiedzieliśmy się, że gdy elementom flex brakuje miejsca, zaczynają się ściskać. Różnica między całkowitą szerokością elementów a szerokością rodzica nazywana jest ujemną wolną przestrzenią.

Technicznie ściśnięcie oznacza, że od szerokości każdego elementu odcinany jest kawałek tak, aby wszystkie elementy zmieściły się w swoim rodzicu.

Przeprowadźmy pewne obliczenia. Załóżmy, na przykład, że mamy 4 elementy o szerokości 200px. Niech przy tym szerokość rodzica wynosi 700px. Oznacza to, że całkowita szerokość elementów wynosi:

200px * 4 = 800px

Jest to szerokość o 100px większa od szerokości rodzica. Obliczmy, ile trzeba odciąć od każdego elementu, aby elementy zmieściły się w swoim rodzicu:

100px / 4 = 25px

Oznacza to, że szerokość elementów będzie wynosić:

200px - 25px = 175px
Задание 1

Zaimplementuj opisane bloki i sprawdź przez pomiar, czy szerokość elementów będzie rzeczywiście równa obliczonej przez nas.

Задание 2

Oblicz szerokość bloków, a następnie sprawdź obliczenia przez pomiar:

html<div class="parent">
  <div class="child elem1">1</div>
  <div class="child elem2">2</div>
  <div class="child elem3">3</div>
</div>
css.parent {
  display: flex;
  width: 200px;
  height: 200px;
  border: 1px solid red;
}
.child {
  height: 50px;
  border: 1px solid green;
}
.elem1 {
  width: 100px;
}
.elem2 {
  width: 100px;
}
.elem3 {
  width: 100px;
}