เลย์เอาต์แบบยืดหยุ่นเป็นรูปแบบการจัดวางที่กำหนดความกว้างขององค์ประกอบเป็นเปอร์เซ็นต์หรือหน่วยสัมพัทธ์อื่นๆ แทนที่จะเป็นพิกเซลตายตัว เลย์เอาต์นี้จะปรับขนาดตามสัดส่วนของขนาดหน้าต่างเบราว์เซอร์ โดยคงโครงสร้างหน้าไว้บนทุกหน้าจอ ตามข้อมูลจาก MDN Web Docs (2026) เลย์เอาต์แบบยืดหยุ่นได้กลายเป็นพื้นฐานของการออกแบบ responsive สมัยใหม่ แม้ว่าปัจจุบันจะไม่ค่อยได้ใช้ในรูปแบบบริสุทธิ์
ประเด็นสำคัญ
เลย์เอาต์แบบยืดหยุ่น (liquid layout, fluid layout) — แนวทางการจัดวางที่กำหนดขนาดขององค์ประกอบในหน่วยสัมพัทธ์ แทนที่จะเป็นพิกเซลตายตัว ซึ่งช่วยให้หน้าปรับขนาดตามหน้าต่างเบราว์เซอร์โดยไม่ต้องเลื่อนในแนวนอน
แนวคิดของเลย์เอาต์แบบยืดหยุ่นเกิดขึ้นในยุคของจอมอนิเตอร์เดสก์ท็อปที่มีความละเอียดต่างกัน ในช่วงปี 2000 เว็บไซต์ที่มีความกว้างตายตัว 960 พิกเซลดูไม่ดีบนจอมอนิเตอร์ขนาด 15 และ 30 นิ้ว เลย์เอาต์แบบยืดหยุ่นแก้ปัญหานี้ได้
ตามข้อมูลจาก Web Almanac (2024) 78% ของเว็บไซต์สมัยใหม่ใช้องค์ประกอบของเลย์เอาต์แบบยืดหยุ่นผ่านหน่วยสัมพัทธ์ เลย์เอาต์แบบยืดหยุ่นบริสุทธิ์พบได้น้อยกว่า — ส่วนใหญ่ในแดชบอร์ดและแผงควบคุม
เลย์เอาต์แบบยืดหยุ่นเป็นที่นิยมหลังจากบทความของ John Allsopp เรื่อง “A Dao of Web Design” ในปี 2000 ซึ่งเขาเรียกร้องให้เลิกใช้พิกเซลตายตัวและหันมาใช้หน่วยสัมพัทธ์ แถลงการณ์นี้วางรากฐานทางปรัชญาสำหรับการออกแบบ responsive ทั้งหมด
หน่วยสัมพัทธ์หลักใน CSS แบ่งเป็นสองกลุ่ม: สัมพัทธ์กับองค์ประกอบแม่ (เปอร์เซ็นต์) และสัมพัทธ์กับ viewport (vw, vh, vmin, vmax) แต่ละกลุ่มแก้ปัญหาของตัวเองในเลย์เอาต์แบบยืดหยุ่น
/* Percent — width relative to parent */
.sidebar {
width: 30%;
}
.content {
width: 70%;
}
/* vw/vh — viewport-based units */
.hero-section {
width: 100vw;
height: 80vh;
}
.fullscreen-modal {
width: 90vmin;
}
เปอร์เซ็นต์คำนวณจากความกว้างของคอนเทนเนอร์แม่ เปอร์เซ็นต์ที่ซ้อนกันสามารถสร้างการคำนวณแบบเรียงซ้อนซึ่งบางครั้งให้ผลลัพธ์ที่ไม่คาดคิด หน่วย vw/vh เชื่อมโยงกับ viewport และไม่สนใจคอนเทนเนอร์แม่ — สะดวกสำหรับส่วนแบบเต็มหน้าจอ
ในเลย์เอาต์แบบยืดหยุ่น สิ่งสำคัญไม่เพียงแค่กำหนดความกว้างบล็อกในหน่วยสัมพัทธ์ แต่ยังรวมถึงขนาดฟอนต์ด้วย หน่วย rem (root em) เชื่อมโยงขนาดข้อความกับองค์ประกอบราก HTML โดยการเปลี่ยน font-size ที่ html คุณสามารถปรับขนาดข้อความทั้งหมดบนหน้าได้
/* Global text scaling via rem */
html {
font-size: 62.5%; /* 1rem = 10px */
}
.heading {
font-size: 2.4rem; /* = 24px */
}
.body-text {
font-size: 1.6rem; /* = 16px */
}
ความแตกต่างหลักระหว่างเลย์เอาต์แบบยืดหยุ่นและแบบปรับตัวคือลักษณะการเปลี่ยนแปลงความกว้าง เลย์เอาต์แบบยืดหยุ่นเปลี่ยนแปลงต่อเนื่องเมื่อมีการปรับขนาดหน้าต่าง ในขณะที่แบบปรับตัวเปลี่ยนแปลงแบบไม่ต่อเนื่องผ่าน media queries
เลย์เอาต์แบบยืดหยุ่นคือการปรับขนาดต่อเนื่อง เลย์เอาต์แบบปรับตัวคือการสลับระหว่างเลย์เอาต์ตายตัว แต่ละแนวทางมีจุดแข็งและจุดอ่อน
| คุณลักษณะ | เลย์เอาต์แบบยืดหยุ่น | เลย์เอาต์แบบปรับตัว |
|---|---|---|
| หน่วย | %, vw, rem | px, ความกว้างตายตัว |
| การปรับขนาด | ราบรื่น ต่อเนื่อง | ฉับพลัน ตามเบรกพอยต์ |
| รองรับหน้าจอ | ทุกความกว้าง | เฉพาะความละเอียดที่กำหนด |
| ความซับซ้อน | ต่ำ | สูง (ต้องใช้ media queries) |
| การควบคุม | ควบคุมน้อยกว่า | ควบคุมเต็มที่ที่เบรกพอยต์ |
ในทางปฏิบัติ เว็บไซต์สมัยใหม่ส่วนใหญ่ใช้แนวทางแบบผสม: กริดแบบยืดหยุ่นด้วยหน่วยสัมพัทธ์ + media queries สำหรับเบรกพอยต์สำคัญ เลย์เอาต์แบบยืดหยุ่นบริสุทธิ์ที่ไม่มี media queries อาจดูไม่เป็นระเบียบบนหน้าจอที่กว้างมากหรือแคบมาก
การ implement พื้นฐานของเลย์เอาต์แบบยืดหยุ่นประกอบด้วยสามองค์ประกอบ: หน่วยความกว้างสัมพัทธ์ ข้อจำกัดสูงสุด/ต่ำสุด และ flexbox หรือ grid สำหรับการกระจายพื้นที่
/* Fluid grid with Flexbox */
.container {
display: flex;
flex-wrap: wrap;
}
.card {
flex: 1 1 30%;
min-width: 250px;
}
/* Fluid grid with CSS Grid */
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
แนวทาง Flexbox ด้วย flex: 1 1 30% สร้างการ์ดที่กินพื้นที่ประมาณ 30% ของความกว้างคอนเทนเนอร์ แต่สามารถหดได้ถึง 250px เมื่อมีการ์ดจำนวนมาก จะเลื่อนไปยังบรรทัดถัดไป แนวทาง Grid ด้วย auto-fit และ minmax จะสร้างคอลัมน์ที่พอดีกับคอนเทนเนอร์โดยอัตโนมัติ
ปัญหาสำคัญของเลย์เอาต์แบบยืดหยุ่นบริสุทธิ์คือบนหน้าจอที่กว้างมาก บรรทัดข้อความจะยืดถึง 2000+ พิกเซล ทำให้อ่านไม่ได้ คุณสมบัติ CSS min-width และ max-width แก้ปัญหานี้
/* Container limits for readability */
.content-wrapper {
width: 90%;
max-width: 1200px;
min-width: 320px;
margin: 0 auto;
}
max-width: 1200px ป้องกันเนื้อหายืดบนจอภาพ ultra-wide min-width: 320px รับประกันความกว้างขั้นต่ำของคอนเทนเนอร์บนหน้าจอเล็ก การรวมกันของ width: 90% + max-width สร้างคอนเทนเนอร์แบบยืดหยุ่นแบบมีเพดาน — รูปแบบที่นิยมที่สุดในการออกแบบเว็บสมัยใหม่
ตามข้อมูลจาก HTTP Archive (2025) 92% ของเว็บไซต์ใน 1000 อันดับแรกใช้ max-width สำหรับบล็อกเนื้อหา ค่ามาตรฐานคือ 1140–1200 พิกเซลสำหรับเลย์เอาต์เดสก์ท็อป
การออกแบบเว็บสมัยใหม่ไม่ค่อยใช้แนวทางแบบยืดหยุ่นหรือแบบปรับตัวในรูปแบบบริสุทธิ์ วิธีการแบบผสมผสานข้อดีของทั้งสอง: กริดแบบยืดหยุ่นด้วยหน่วยสัมพัทธ์ + media queries สำหรับการปรับโครงสร้างทั่วโลก
/* Hybrid: fluid base + media query */
.layout {
display: grid;
grid-template-columns: 1fr 3fr;
}
@media (max-width: 768px) {
.layout {
grid-template-columns: 1fr;
}
}
บนเดสก์ท็อป เลย์เอาต์ใช้คอลัมน์แบบยืดหยุ่น 1fr และ 3fr — สัดส่วนคงที่ทุกความกว้างหน้าต่าง บนมือถือ media query สลับเป็นรูปแบบคอลัมน์เดียวที่คอลัมน์เรียงซ้อนกันในแนวตั้ง
ข้อดีของแนวทางแบบผสมคือนักพัฒนาเขียน media queries น้อยลง เนื่องจากกริดแบบยืดหยุ่นปรับตัวให้เข้ากับขนาดกลางโดยอัตโนมัติ Media queries จำเป็นเฉพาะสำหรับการเปลี่ยนแปลงโครงสร้างที่สำคัญเท่านั้น ไม่ใช่ทุกขั้นของความกว้างหน้าจอ
คำถามที่พบบ่อย
เลย์เอาต์แบบยืดหยุ่นใช้หน่วยสัมพัทธ์และปรับขนาดอย่างราบรื่นเมื่อหน้าต่างเปลี่ยนแปลง เลย์เอาต์แบบปรับตัวสลับระหว่างเทมเพลตตายตัวผ่าน media queries เว็บไซต์สมัยใหม่มักรวมทั้งสองแนวทาง
สำหรับคอนเทนเนอร์ — เปอร์เซ็นต์ (%) และ fr (flex/grid) สำหรับฟอนต์ — rem (สัมพัทธ์กับองค์ประกอบราก) สำหรับส่วนเต็มหน้าจอ — vw/vh การรวมหน่วยเหล่านี้ให้ความยืดหยุ่นสูงสุด
บนหน้าจอกว้างมาก บรรทัดข้อความยาวเกินไปสำหรับการอ่านที่สบายตา บนหน้าจอแคบมาก องค์ประกอบอาจหดตัวจนอ่านไม่ได้ วิธีแก้คือใช้ max-width และ min-width เพื่อจำกัดการปรับขนาด
Google แนะนำการออกแบบ responsive ด้วย media queries แต่ไม่ได้ห้ามเลย์เอาต์แบบยืดหยุ่น จากมุมมองของ SEO สิ่งสำคัญกว่าคือหน้าแสดงผลถูกต้องบนอุปกรณ์มือถือ ไม่ใช่ประเภทของเลย์เอาต์ที่เฉพาะเจาะจง
ได้ เลย์เอาต์แบบยืดหยุ่นมีมานานก่อน CSS Grid สามารถ implement ด้วย float, inline-block, flexbox หรือการจัดวางแบบตาราง Flexbox และ Grid เป็นเครื่องมือที่ทันสมัยและสะดวกที่สุดสำหรับงานนี้
สรุป
เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร
IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ
อ่านเพิ่มเติม