CSSda Fleks Bloklarning Turli Kengligi va Qisqarish Xususiyati
Endi bizning elementlarimiz har xil kenglikka ega bo'lsin. Bunday holda, ajratiladigan bo'lak ushbu elementning kengligiga mutanosib bo'ladi va quyidagi formula bo'yicha hisoblanadi: manfiy bo'sh joy * (element kengligi / barcha elementlar kengliklari yig'indisi).
Faraz qilaylik, bizda 4 ta element bor. Birinchi elementning kengligi 400px,
qolgan elementlarning kengligi - 200px,
ota-onaning kengligi esa 900px.
Elementlarning umumiy kengligi:
400px + 3 * 200px = 1000px
Unda manfiy bo'sh joy quyidagiga teng bo'ladi:
1000px - 900px = 100px
Birinchi elementdan qancha ajralishini topamiz:
100px * (400px / 1000px) = 40px
Ya'ni uning kengligi quyidagiga teng bo'ladi:
400px - 40px = 360px
Qolgan har bir elementdan qancha ajralishini topamiz:
100px * (200px / 1000px) = 20px
Ya'ni bu elementlarning kengligi quyidagiga teng bo'ladi:
200px - 20px = 180px
Tasvirlangan bloklarni amalga oshiring va o'lchash orqali tekshiring, elementlarning kengligi haqiqatan ham biz hisoblaganiga teng ekanligini.
Bloklarning kengligini hisoblang, so'ngra hisoblaringizni o'lchash orqali tekshiring:
<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: 300px;
height: 200px;
border: 1px solid red;
}
.child {
height: 50px;
border: 1px solid green;
}
.elem1 {
width: 300px;
}
.elem2 {
width: 100px;
}
.elem3 {
width: 100px;
}