ปัจจัยการหดตัวของบล็อก Flex ใน CSS

ในบทเรียนที่แล้ว เราได้ทราบว่าเมื่อ องค์ประกอบ flex ไม่มีพื้นที่เพียงพอ พวกมันจะเริ่ม หดตัว ขนาดที่ความกว้างรวม มากกว่าความกว้างของ parent เรียกว่า พื้นที่ว่างเชิงลบ (negative free space)

ในทางเทคนิค การหดตัวหมายความว่าความกว้าง ของแต่ละองค์ประกอบถูกตัดออกไป一部分 เพื่อให้องค์ประกอบทั้งหมดสามารถใส่ลงใน parent ของมันได้

ลองมาคำนวณกัน สมมติว่า เรามีองค์ประกอบ 4 องค์ประกอบ ความกว้าง 200px และความกว้างของ parent คือ 700px ซึ่งหมายความว่าความกว้างรวม ขององค์ประกอบคือ:

200px * 4 = 800px

ความกว้างนี้มากกว่าความกว้างของ parent อยู่ 100px ลองคำนวณดูว่าแต่ละองค์ประกอบต้องถูกตัดออกไปเท่าไหร่ เพื่อให้องค์ประกอบทั้งหมดสามารถใส่ลงใน parent ได้:

100px / 4 = 25px

นั่นคือความกว้างขององค์ประกอบจะเป็น:

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

ให้สร้างบล็อกตามที่อธิบายและตรวจสอบด้วยการวัด ว่าความกว้างขององค์ประกอบนั้น เท่ากับที่เราคำนวณไว้จริงหรือไม่

Задание 2

คำนวณความกว้างของบล็อก จากนั้นตรวจสอบ ผลการคำนวณด้วยการวัด:

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