นี่คือรูปแบบทั่วไปสำหรับเว็บไซต์การตลาด เช่น ซึ่งอาจมีแถว 3 แถว ซึ่งมักจะมีรูปภาพ ชื่อ และข้อความบางส่วนซึ่งอธิบายฟีเจอร์ของผลิตภัณฑ์ บนหน้าจอขนาดเล็ก คุณคงต้องการให้รูปภาพเหล่านั้นซ้อนกันอย่างลงตัว และจะขยายเมื่อเพิ่มขนาดหน้าจอ
การใช้ Flexbox สำหรับเอฟเฟกต์นี้จะทำให้คุณไม่จำเป็นต้องใช้คิวรี่สื่อเพื่อปรับตำแหน่งขององค์ประกอบเหล่านี้เมื่อปรับขนาดหน้าจอ
ชื่อย่อแบบ flex ย่อมาจาก flex: <flex-grow> <flex-shrink> <flex-basis>
ยืดเหยียด flex-grow
หากต้องการให้กล่องยืดขยายและเต็มพื้นที่ขณะตัดไปบรรทัดถัดไป ให้ตั้งค่า <flex-grow>
เป็น 1 เช่น
.parent {
display: flex;
}
.child {
flex: 1 1 150px;
}
เมื่อคุณเพิ่มหรือลดขนาดหน้าจอ รายการ Flex เหล่านี้จะหดตัวและใหญ่ขึ้น
ไม่ยืดเหยียด
หากต้องการเติมช่องให้เต็มขนาด <flex-basis>
ให้ย่อขนาดที่เล็กลง แต่ไม่ยืดจนเต็มพื้นที่เพิ่มเติม ให้เขียนว่า flex: 0 1 <flex-basis>
ในกรณีนี้ <flex-basis>
จะมีขนาด 150 พิกเซล:
.parent {
display: flex;
}
.child {
flex: 0 1 150px;
}
HTML
<div class="parent">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
</div>
CSS
.parent {
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.box {
/* Stretching: */
flex: 1 1 150px;
margin: 5px;
background: red;
gap: 1rem;
}