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
Zaimplementuj opisane bloki i sprawdź przez pomiar, czy szerokość elementów będzie rzeczywiście równa obliczonej przez nas.
Oblicz szerokość bloków, a następnie sprawdź obliczenia przez pomiar:
<div class="parent">
<div class="child elem1">1</div>
<div class="child elem2">2</div>
<div class="child elem3">3</div>
</div>
.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;
}