实现表格横向滚动,需在外层容器设置横向溢出为自动、指定固定宽度,并设置文本不换行;表格自身设为块级元素且最小宽度为最大内容;还需添加iOS触摸滚动属性,否则在iOS设备上滚动条无法正常出现。
先说一个很多开发者踩过的坑:直接给 直接给 长期稳定更新的攒劲资源: >>>点此立即查看<<< 浏览器会把 外层容器可不是加个 表格脱离自然布局后,列宽很容易错位或撑爆容器,所以需要主动约束一下: 横向滚动这个功能,真不是加个 侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述 标签加上
overflow-x: auto,想让它自己滚动起来。结果呢?表格纹丝不动,该撑破容器还是撑破,该没有滚动条还是没有。这其实不是样式写错了,而是对表格这个“特殊元素”的脾气没摸透。
加
overflow-x: auto 可以说完全无效。滚动条这件事,必须由外层的 为什么
overflow-x: auto 放在 上无效?
当作一个独立的格式化上下文来处理。这就意味着,它根本不会理会自己身上的
overflow 属性,而是优先按照内容的实际宽度来撑开自己。就算你给它设了 width: 100%,只要单元格里有一长串 URL 或者连续的中文字符,它照样会“任性”地撑破父容器。父容器的宽度永远等于内容的总宽度,滚动条自然也就无从谈起了。
—— 完全不生效。
max-width,只要 display 属性还是 table,它就会强行拉伸来填满内容。overflow-x: auto 就万事大吉了。漏掉下面任意一项,都可能让你得到一条不出现、拖不动或者在 iOS 上卡成 PPT 的滚动条。
overflow-x: auto —— 必须用 auto,不要用 scroll。否则即使内容没溢出,也会显示一个占高度的滚动条,影响布局。width 或 max-width —— 必须给一个具体的值,比如 width: 100%。用 fit-content 常常会出问题,不太可靠。white-space: nowrap —— 这个属性很关键,它能防止 或 里的文字自动换行,从而干扰宽度计算,导致溢出行为不准确。
display: block —— 确保容器在父级是 flex 或 grid 布局时,不会被压缩变形。这在 Bootstrap 或现代框架中很常见。-webkit-overflow-scrolling: touch —— 这个属性是 iOS Safari 的“救星”,不加的话,触摸拖拽会卡顿甚至完全没反应。 本身要改什么?
display: block —— 强制表格脱离表格渲染流,这样才能响应外部 overflow 的控制。min-width: max-content —— 确保表格的最小宽度等于所有列内容的总宽度,避免滚动条被“压缩掉”。width: 100% —— 否则它会反向拉伸去填满父容器,彻底失去溢出的前提条件。 和 设相同的 min-width 或 width —— 防止滚动后表头与数据错位。
table-layout: fixed 配合百分比宽度 —— 在小屏设备上,它会均分列宽,导致字段被截断,根本无法阅读。overflow 属性就能跑通的。真正卡点在哪儿?三处:表格是否交出了宽度控制权、列宽是否显式对齐、以及 iOS 的 touch 滚动是否被正确启用。这三处,任何一处遗漏,都会让滚动失效或者体验断裂。相关攻略
更多
同类更新
更多
热游推荐
更多
下载
下载
下载
下载
下载