overflow 控制当内容超过其框的大小时会发生什么——无论是被剪切、滚动还是溢出。
css
{ : visible; }
{ : hidden; }
{ : scroll; }
{ : auto; }
.box {
overflow-x: hidden; /* clip horizontal */
overflow-y: auto; /* scroll vertical when needed */
}
一个常见的模式:防止水平溢出,同时允许垂直滚动。
.scroll-area {
max-height: 400px; /* constrain the height */
overflow-y: auto; /* content beyond 400px scrolls */
}
关键点:一个滚动容器需要受限的大小(height/max-height)加上 overflow: auto。没有大小限制,该框只会扩展,永远不会滚动。
.clearfix { overflow: hidden; } /* contains floats / stops margin collapse */
将 overflow 设置为除 visible 以外的任何值都会建立一个新的块格式化上下文,它包含浮动子元素并防止外边距折叠——历史上用作"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 阻止滚动面板也滚动其后面的页面(非常适合模态框/聊天窗口)。
overflow 控制滚动区域、文本剪切(使用 text-overflow: ellipsis)以及模态框/面板的滚动行为。
了解滚动容器需要大小约束、overflow 创建格式化上下文以及现代辅助工具(scroll-snap、overscroll-behavior)涵盖了围绕 overflow 的实际布局和 UX 需求。
一个包含详细解答的 IT 面试题库——从初级到高级。
捐赠