Fator de compressão de blocos flex em CSS
Na lição anterior, descobrimos que, quando os elementos flex não têm espaço suficiente, eles começam a se comprimir. A quantidade pela qual a largura total é maior que a largura do pai é chamada de espaço livre negativo.
Tecnicamente, a compressão significa que um pedaço da largura é retirado de cada elemento para que todos os elementos caibam dentro de seu pai.
Vamos fazer alguns cálculos. Suponha,
por exemplo, que temos 4 elementos com largura
de 200px. Suponha que a largura do pai
seja 700px. Isso significa que a largura total
dos elementos é:
200px * 4 = 800px
Esta largura é 100px maior que a largura
do pai. Vamos calcular quanto precisa ser retirado
de cada elemento para que os elementos caibam
no pai:
100px / 4 = 25px
Ou seja, a largura dos elementos será:
200px - 25px = 175px
Implemente os blocos descritos e verifique por medição que a largura dos elementos será realmente igual à que calculamos.
Calcule a largura dos blocos e depois verifique os cálculos por medição:
<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;
}