我浏览了许多不同的帖子,但没有找到任何可行的解决方案。捕捉水平滚动条的解决方案有很多,但只有在项目具有相同大小的情况下,它们中的每一个都有效。
我给你举个小例子:
屏幕能够显示 300px 的宽度。滚动条内的项目可以有不同的大小,例如:
- 1:300像素
- 2:300像素
- 3:500像素
- 4:400像素
如果 * 为 100px,则整个布局如下所示:
1 2 3 4
[***][***][*****][****]
现在滚动条应该在项目的开始/结束处准确到位。前两项很容易,因为它们的大小与屏幕相同。但对于其余的,我想不出一个可行的解决方案。
因此,如果您滚动到第三项,滚动条应该在屏幕左侧第 3 项的开始处对齐。('!' = 屏幕尺寸)
1 2 3 4
[***][***]![***!**][****]
如果您几乎滚动到第 4 项,则滚动条应该在屏幕右侧的第 3 项末尾准确地卡入到位。
1 2 3 4
[***][***][**!***]![****]
很难解释。我希望你能理解我的问题。