เลย์เอาต์แบบยืดหยุ่น: หลักการสร้างและความแตกต่างจากเลย์เอาต์แบบปรับตัว

ผู้แต่ง: IT Sectr เผยแพร่เมื่อ: 2026-08-02 เวลาอ่าน: 7 นาที

เลย์เอาต์แบบยืดหยุ่นเป็นรูปแบบการจัดวางที่กำหนดความกว้างขององค์ประกอบเป็นเปอร์เซ็นต์หรือหน่วยสัมพัทธ์อื่นๆ แทนที่จะเป็นพิกเซลตายตัว เลย์เอาต์นี้จะปรับขนาดตามสัดส่วนของขนาดหน้าต่างเบราว์เซอร์ โดยคงโครงสร้างหน้าไว้บนทุกหน้าจอ ตามข้อมูลจาก MDN Web Docs (2026) เลย์เอาต์แบบยืดหยุ่นได้กลายเป็นพื้นฐานของการออกแบบ responsive สมัยใหม่ แม้ว่าปัจจุบันจะไม่ค่อยได้ใช้ในรูปแบบบริสุทธิ์

ประเด็นสำคัญ

  • เลย์เอาต์แบบยืดหยุ่น — การจัดวางด้วยหน่วยสัมพัทธ์ที่ปรับตามความกว้างหน้าจอ
  • เปอร์เซ็นต์ (%) — หน่วยหลักของเลย์เอาต์แบบยืดหยุ่น กำหนดความกว้างสัมพัทธ์กับคอนเทนเนอร์แม่
  • หน่วย vw/vh — การเชื่อมโยงกับขนาด viewport ขยายความสามารถของเลย์เอาต์แบบยืดหยุ่น
  • ความแตกต่างจากเลย์เอาต์แบบปรับตัว — แบบยืดหยุ่นเปลี่ยนแปลงต่อเนื่อง แบบปรับตัวเปลี่ยนแปลงฉับพลันผ่านเบรกพอยต์
  • ปัญหาของเลย์เอาต์แบบยืดหยุ่น — บนหน้าจอกว้างมาก เนื้อหาจะอ่านไม่ได้หากไม่มีข้อจำกัด

เลย์เอาต์แบบยืดหยุ่นคืออะไร

เลย์เอาต์แบบยืดหยุ่น (liquid layout, fluid layout) — แนวทางการจัดวางที่กำหนดขนาดขององค์ประกอบในหน่วยสัมพัทธ์ แทนที่จะเป็นพิกเซลตายตัว ซึ่งช่วยให้หน้าปรับขนาดตามหน้าต่างเบราว์เซอร์โดยไม่ต้องเลื่อนในแนวนอน

แนวคิดของเลย์เอาต์แบบยืดหยุ่นเกิดขึ้นในยุคของจอมอนิเตอร์เดสก์ท็อปที่มีความละเอียดต่างกัน ในช่วงปี 2000 เว็บไซต์ที่มีความกว้างตายตัว 960 พิกเซลดูไม่ดีบนจอมอนิเตอร์ขนาด 15 และ 30 นิ้ว เลย์เอาต์แบบยืดหยุ่นแก้ปัญหานี้ได้

ตามข้อมูลจาก Web Almanac (2024) 78% ของเว็บไซต์สมัยใหม่ใช้องค์ประกอบของเลย์เอาต์แบบยืดหยุ่นผ่านหน่วยสัมพัทธ์ เลย์เอาต์แบบยืดหยุ่นบริสุทธิ์พบได้น้อยกว่า — ส่วนใหญ่ในแดชบอร์ดและแผงควบคุม

บริบททางประวัติศาสตร์

เลย์เอาต์แบบยืดหยุ่นเป็นที่นิยมหลังจากบทความของ John Allsopp เรื่อง “A Dao of Web Design” ในปี 2000 ซึ่งเขาเรียกร้องให้เลิกใช้พิกเซลตายตัวและหันมาใช้หน่วยสัมพัทธ์ แถลงการณ์นี้วางรากฐานทางปรัชญาสำหรับการออกแบบ responsive ทั้งหมด

หน่วยวัดสัมพัทธ์: เปอร์เซ็นต์, vw, vh

หน่วยสัมพัทธ์หลักใน CSS แบ่งเป็นสองกลุ่ม: สัมพัทธ์กับองค์ประกอบแม่ (เปอร์เซ็นต์) และสัมพัทธ์กับ viewport (vw, vh, vmin, vmax) แต่ละกลุ่มแก้ปัญหาของตัวเองในเลย์เอาต์แบบยืดหยุ่น

css
/* 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 สำหรับฟอนต์

ในเลย์เอาต์แบบยืดหยุ่น สิ่งสำคัญไม่เพียงแค่กำหนดความกว้างบล็อกในหน่วยสัมพัทธ์ แต่ยังรวมถึงขนาดฟอนต์ด้วย หน่วย rem (root em) เชื่อมโยงขนาดข้อความกับองค์ประกอบราก HTML โดยการเปลี่ยน font-size ที่ html คุณสามารถปรับขนาดข้อความทั้งหมดบนหน้าได้

css
/* 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 */
}

เลย์เอาต์แบบยืดหยุ่น vs แบบปรับตัว

ความแตกต่างหลักระหว่างเลย์เอาต์แบบยืดหยุ่นและแบบปรับตัวคือลักษณะการเปลี่ยนแปลงความกว้าง เลย์เอาต์แบบยืดหยุ่นเปลี่ยนแปลงต่อเนื่องเมื่อมีการปรับขนาดหน้าต่าง ในขณะที่แบบปรับตัวเปลี่ยนแปลงแบบไม่ต่อเนื่องผ่าน media queries

เลย์เอาต์แบบยืดหยุ่นคือการปรับขนาดต่อเนื่อง เลย์เอาต์แบบปรับตัวคือการสลับระหว่างเลย์เอาต์ตายตัว แต่ละแนวทางมีจุดแข็งและจุดอ่อน

คุณลักษณะเลย์เอาต์แบบยืดหยุ่นเลย์เอาต์แบบปรับตัว
หน่วย%, vw, rempx, ความกว้างตายตัว
การปรับขนาดราบรื่น ต่อเนื่องฉับพลัน ตามเบรกพอยต์
รองรับหน้าจอทุกความกว้างเฉพาะความละเอียดที่กำหนด
ความซับซ้อนต่ำสูง (ต้องใช้ media queries)
การควบคุมควบคุมน้อยกว่าควบคุมเต็มที่ที่เบรกพอยต์

ในทางปฏิบัติ เว็บไซต์สมัยใหม่ส่วนใหญ่ใช้แนวทางแบบผสม: กริดแบบยืดหยุ่นด้วยหน่วยสัมพัทธ์ + media queries สำหรับเบรกพอยต์สำคัญ เลย์เอาต์แบบยืดหยุ่นบริสุทธิ์ที่ไม่มี media queries อาจดูไม่เป็นระเบียบบนหน้าจอที่กว้างมากหรือแคบมาก

วิธี implement เลย์เอาต์แบบยืดหยุ่นใน CSS

การ implement พื้นฐานของเลย์เอาต์แบบยืดหยุ่นประกอบด้วยสามองค์ประกอบ: หน่วยความกว้างสัมพัทธ์ ข้อจำกัดสูงสุด/ต่ำสุด และ flexbox หรือ grid สำหรับการกระจายพื้นที่

css
/* 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 จะสร้างคอลัมน์ที่พอดีกับคอนเทนเนอร์โดยอัตโนมัติ

ข้อจำกัด: min-width และ max-width

ปัญหาสำคัญของเลย์เอาต์แบบยืดหยุ่นบริสุทธิ์คือบนหน้าจอที่กว้างมาก บรรทัดข้อความจะยืดถึง 2000+ พิกเซล ทำให้อ่านไม่ได้ คุณสมบัติ CSS min-width และ max-width แก้ปัญหานี้

css
/* 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 สำหรับการปรับโครงสร้างทั่วโลก

css
/* 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 เพื่อจำกัดการปรับขนาด

แบบไหนดีกว่าสำหรับ SEO — แบบยืดหยุ่นหรือแบบปรับตัว?

Google แนะนำการออกแบบ responsive ด้วย media queries แต่ไม่ได้ห้ามเลย์เอาต์แบบยืดหยุ่น จากมุมมองของ SEO สิ่งสำคัญกว่าคือหน้าแสดงผลถูกต้องบนอุปกรณ์มือถือ ไม่ใช่ประเภทของเลย์เอาต์ที่เฉพาะเจาะจง

สามารถทำเลย์เอาต์แบบยืดหยุ่นโดยไม่ใช้ CSS Grid ได้ไหม?

ได้ เลย์เอาต์แบบยืดหยุ่นมีมานานก่อน CSS Grid สามารถ implement ด้วย float, inline-block, flexbox หรือการจัดวางแบบตาราง Flexbox และ Grid เป็นเครื่องมือที่ทันสมัยและสะดวกที่สุดสำหรับงานนี้

สรุป

  • เลย์เอาต์แบบยืดหยุ่น — การจัดวางด้วยหน่วยสัมพัทธ์ที่ปรับขนาดตามความกว้างหน้าจอใดๆ
  • หน่วยหลัก — เปอร์เซ็นต์สำหรับคอนเทนเนอร์ vw/vh สำหรับส่วน viewport rem สำหรับฟอนต์
  • ยืดหยุ่น ≠ ปรับตัว — แบบแรกเปลี่ยนแปลงต่อเนื่อง แบบหลังเปลี่ยนแปลงฉับพลันผ่านเบรกพอยต์
  • ข้อจำกัดที่จำเป็น — max-width และ min-width ป้องกันการยืด/หดที่อ่านไม่ได้
  • แนวทางแบบผสม — กริดยืดหยุ่น + media queries สำหรับการปรับโครงสร้างทั่วโลกเป็นมาตรฐานอุตสาหกรรม
  • Flexbox และ Grid — เครื่องมือสมัยใหม่สำหรับเลย์เอาต์แบบยืดหยุ่นที่แทนที่ float และตาราง

เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร

IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ

ปรึกษาโครงการ

อ่านเพิ่มเติม