กลับไปยังบทความทั้งหมด
14 กันยายน 2569
2 นาทีในการอ่าน
KDLen Team

5 เคล็ดลับ CSS Flexbox ที่นักพัฒนาเว็บทุกคนต้องรู้

KDLen Learning Blog

5 เคล็ดลับ CSS Flexbox ที่นักพัฒนาเว็บทุกคนต้องรู้

CSS Flexible Box Layout หรือ Flexbox คือหนึ่งในโมดูลการจัดวางโครงสร้างหน้าเว็บที่ทรงพลังที่สุด ไม่ว่าคุณกำลังออกแบบแถบเมนูนำทาง หรือสร้างการ์ดข้อมูลแบบตอบสนอง (Responsive) การเข้าใจ 5 เทคนิคนี้จะช่วยให้คุณพัฒนาเว็บได้รวดเร็วและเป็นมืออาชีพยิ่งขึ้น

1. การจัดกึ่งกลางที่สมบูรณ์แบบด้วยโค้ดเพียงสองบรรทัด

ในอดีต การจัดองค์ประกอบให้อยู่กึ่งกลางทั้งแนวนอนและแนวตั้งเป็นเรื่องที่ซับซ้อน แต่ด้วย Flexbox คุณสามารถทำได้ทันทีด้วย:

css
.container {
  display: flex;
  justify-content: center;
  align-items: center;
}

2. การใช้คุณสมบัติ Gap แทนการกำหนด Margin

บอกลาการใช้ Margin ติดลบหรือการเขียนตัวเลือก :last-child ที่ซับซ้อน คุณสมบัติ gap ช่วยสร้างระยะห่างระหว่างไอเทมได้อย่างสม่ำเสมอ:

css
.card-grid {
  display: flex;
  gap: 1.5rem;
}

3. การใช้ Margin Auto ในแถบนำทาง (Navbar)

เมื่อต้องการจัดให้โลโก้อยู่ฝั่งซ้าย และปุ่มผู้ใช้อยู่ฝั่งขวาสุด การกำหนด margin-left: auto ที่องค์ประกอบเป้าหมายจะดันไอเทมที่เหลือไปยังฝั่งตรงข้ามโดยอัตโนมัติ:

css
.nav-item-user {
  margin-left: auto;
}

4. ความเข้าใจใน flex: 1 1 auto

คำสั่งย่อ flex รวมคุณสมบัติ flex-grow, flex-shrink และ flex-basis เข้าด้วยกัน การใช้ flex: 1 1 0% จะช่วยให้องค์ประกอบขยายและหดตัวได้อย่างสมดุล:

css
.col-equal {
  flex: 1 1 0%;
}

5. เลย์เอาต์แบบตอบสนองด้วย flex-wrap

เมื่อใช้ flex-wrap: wrap ร่วมกับ flex-basis ไอเทมจะปัดบรรทัดใหม่อัตโนมัติเมื่อหน้าจอมีขนาดเล็กลง โดยไม่ต้องพึ่งพา Media Queries ที่ซับซ้อน:

css
.responsive-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}