要让容器内元素横向排列并出现滚动条,必须同时设置white-space: nowrap、overflow-x: auto,并根据子元素类型调整display(如inline-block或flex);仅overflow:auto无效,因默认换行或撑宽父容器。
要让容器内元素横向排列并出现滚动条,关键不是单纯加 overflow: auto,而是配合 white-space: nowrap 阻止换行,并确保子元素不被压缩或折行。
默认情况下,块级子元素会自动换行或撑宽父容器,浏览器不会触发横向滚动。必须打破“自动换行+自适应宽度”这个默认行为。
给父容器同时设置:
overflow: auto):仅在内容超宽时显示横向滚动条、 等行内元素,white-space: nowrap 就已足够HTML:

CSS:
.scroll-container {,默认为块级,white-space: nowrap 对它无效——需改为 display: inline-block 或 display: inline-flex
- 避免给父容器设
width: 100% 同时又没限制最大宽度,否则可能无法触发滚动(尤其在弹性布局中)
- 移动端要注意
overflow: auto 在 iOS Safari 中默认不支持手指拖拽滚动,需加 -webkit-overflow-scrolling: touch(仅旧版 iOS 需要)
- 如需隐藏纵向滚动条,用
overflow-y: hidden 单独控制