overflow ควบคุมว่าเกิดอะไรขึ้นเมื่อเนื้อหาใหญ่เกินไปสำหรับกล่องของมัน — ไม่ว่าจะถูกตัด เลื่อน หรือหลุดออกมา
{ : visible; }
{ : hidden; }
{ : scroll; }
{ : auto; }
.box {
overflow-x: hidden; /* clip horizontal */
overflow-y: auto; /* scroll vertical when needed */
}
รูปแบบทั่วไป: ป้องกัน overflow แนวนอนในขณะที่อนุญาตการเลื่อนแนวตั้ง
.scroll-area {
max-height: 400px; /* constrain the height */
overflow-y: auto; /* content beyond 400px scrolls */
}
สำคัญ: scroll container ต้องมีขนาดที่จำกัด (height/max-height) บวก overflow: auto หากไม่มีขีดจำกัดของขนาด กล่องจะขยายขึ้นและไม่เลื่อนเลย
.clearfix { overflow: hidden; } /* contains floats / stops margin collapse */
การตั้ง overflow เป็นอย่างอื่นที่ไม่ใช่ visible จะสร้างblock formatting context ใหม่ ซึ่งหนึ่งในนั้นเป็นองค์ประกอบที่ลอยตัว และป้องกันการยุบตัวของหลาม — ในอดีตใช้เป็น "clearfix"
.gallery {
overflow-x: auto;
scroll-snap-type: x mandatory; /* snap to items while scrolling */
overscroll-behavior: contain; /* stop scroll "chaining" to the page */
}
.gallery > * { scroll-snap-align: start; }
scroll-snap สร้างอุปกรณ์เก้าอี้หมุนโดยไม่มี JS; overscroll-behavior หยุดแพนเนลที่เลื่อนแล้วจากการเลื่อนหน้าเว็บด้านหลังด้วย (ยอดเยี่ยมสำหรับ modals/หน้าต่างแชท)
overflow ควบคุมพื้นที่เลื่อน การตัดข้อความ (พร้อม text-overflow: ellipsis) และลักษณะการทำงานการเลื่อน modal/panel
การรู้ว่า scroll containers ต้องมีข้อจำกัดของขนาด overflow สร้าง formatting context และตัวช่วยสมัยใหม่ (scroll-snap, overscroll-behavior) ครอบคลุมความต้องการของเลย์เอาต์และ UX ในทางปฏิบัติที่เกี่ยวข้องกับ overflow
คลังคำถามสัมภาษณ์งาน IT พร้อมคำตอบโดยละเอียด — ตั้งแต่ระดับ Junior ถึง Senior
บริจาค