28/02/2025
🔥 CSS Grid vs. Flexbox ใช้อะไรดี? ต่างกันยังไง? 🤔
เคยสงสัยมั้ยว่า “Flexbox กับ CSS Grid ต่างกันยังไง?” หรือ “เมื่อไหร่ควรใช้ Grid เมื่อไหร่ควรใช้ Flexbox?” 🤯
ถ้าใช่… วันนี้มีคำตอบให้! 🚀
📌 Flexbox คืออะไร?
✅ Flexbox (Flexible Box) เป็นระบบ 1 มิติ (1D) ที่ใช้จัดเรียง แถวเดียวกัน (row) หรือ คอลัมน์เดียวกัน (column)
📌 หลักการสำคัญ
• display: flex; ใช้กำหนดให้เป็น Flexbox
• จัดเรียงตาม main axis (แนวนอนหรือแนวตั้ง)
• justify-content → จัดตำแหน่งตามแกนหลัก (Main Axis)
• align-items → จัดตำแหน่งตามแกนรอง (Cross Axis)
🎯 เหมาะกับอะไร?
✔ ใช้สำหรับจัดเรียงองค์ประกอบใน “แถวเดียวกัน” หรือ “คอลัมน์เดียวกัน”
✔ ใช้เมื่อ content มีขนาดไม่แน่นอน เช่น Navbar, Card Layout, Button Group
💡 ตัวอย่างการใช้ Flexboxcontainer {
display: flex;
justify-content: space-between; /* กระจายให้เท่ากัน */
align-items: center; /* จัดให้อยู่ตรงกลาง */
}
📌 CSS Grid คืออะไร?
✅ CSS Grid เป็นระบบ 2 มิติ (2D) ที่สามารถจัดเรียงทั้ง แถว (row) และ คอลัมน์ (column) พร้อมกันได้
📌 หลักการสำคัญ
• display: grid; ใช้กำหนดให้เป็น Grid
• ใช้ grid-template-columns / grid-template-rows กำหนดโครงสร้าง
• ใช้ gap แทน margin เพื่อกำหนดระยะห่าง
🎯 เหมาะกับอะไร?
✔ ใช้สำหรับการวางเลย์เอาท์ที่มีหลายแถวและหลายคอลัมน์ เช่น Dashboard, Gallery, Page Layout
✔ ใช้เมื่อองค์ประกอบต้องอยู่ในโครงสร้างที่แน่นอน
💡 ตัวอย่างการใช้ Gridcontainer {
display: grid;
grid-template-columns: repeat(3, 1fr); /* แบ่ง 3 คอลัมน์ */
grid-template-rows: auto;
gap: 10px; /* ระยะห่าง */
}
📌 เมื่อไหร่ควรใช้อะไร?
🚀 ใช้ Flexbox ถ้า…
✔ องค์ประกอบเรียงกันแถวเดียว เช่น Navbar, ปุ่ม, Card Layout
✔ ต้องการการปรับเปลี่ยนขนาดที่ยืดหยุ่น
🛠 ใช้ CSS Grid ถ้า…
✔ ต้องการเลย์เอาท์ที่ซับซ้อน เช่น Page Layout, ตารางข้อมูล
✔ ต้องการควบคุมขนาดของแถวและคอลัมน์
💡 ทริคพิเศษ → ใช้ทั้ง Flexbox + Grid ร่วมกัน!
👉 ใช้ Grid สร้างโครงสร้างหลัก
👉 ใช้ Flexbox ในแต่ละ Grid Item เพื่อจัดเรียงองค์ประกอบข้างใน
🎯 สรุปสั้น ๆ
✅ Flexbox = เหมาะกับ layout แบบ 1 มิติ (Row หรือ Column)
✅ CSS Grid = เหมาะกับ layout แบบ 2 มิติ (Row + Column พร้อมกัน)
💬 คุณใช้ Flexbox หรือ Grid บ่อยกว่ากัน? หรือมีเทคนิคอะไรดี ๆ มาบอกกันในคอมเมนต์! 👇
❤️ ถ้ารู้แล้วกดไลค์ & แชร์ให้เพื่อนที่ยังงงอยู่!
#โค้ดสะอาดใจสบาย