【发布时间】:2020-05-12 15:19:47
【问题描述】:
我无法一直滚动到最后。以下代码在页面末尾附近停止工作。
我使用以下方法以编程方式滚动,
// 1 still see scrolling left
window.scrollTo(x,y) > window.scrollTo(window.scrollWidth,0)
window.scrollBy(x,y) >
// 2
scrollingElement.scrollLeft = scrollingElement.scrollWidth - document.documentElement.clientWidth;
信息:
我的案例的一些宽度相关信息,
window.scrollWidth > 6180
scrollingElement.scrollWidth > 6183
document.documentElement.clientWidth > 412
注意:我使用了webkitColumnGap css 并将垂直页面变成了水平页面。这就是为什么我有更大的scrollWidth。
如果我使用跟随(全滚动)我仍然看到,有一些向左滚动,我可以使用鼠标滚动该部分,
window.scrollTo(window.scrollWidth,0) // go to end
scrollingElement.scrollLeft = <full width> // go to end
// log scroll position for inpection ~ this number does not match the full width
window.scrollX ~ 4k
(window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0) ~ 4k
我的想法已经用完了,所以需要你们帮助找出问题。
浏览器详情:
我在安卓设备中使用颤振Webview。
编辑:
经过大量试验和错误添加以下 css 修复了问题,我不知道为什么会修复它?
body {
overflow: hidden !important;
}
谢谢。
【问题讨论】:
-
如果没有minimal reproducible example,您的问题将无法回答。在这种情况下,
end的含义也不清楚。您无法滚动到left端或right端?如果是left结尾,则很可能是使用了一些居中技术,其中子级比可用的父级空间更宽。如果它是right结尾,则可能是内部元素之一上的边距或沿父树某处硬编码宽度的情况。但是,同样,您没有提供足够的技术细节来回答问题。 -
@tao 我会尝试为这个问题制作 github repo。
-
您可能想看看 codesanbox.io 提供的内容(基于多文件节点的环境)。他们也有一个“服务器”版本。请记住,您只需要重现错误,而不是整个应用程序。
-
@tao 我尝试了仅删除段落的裸骨 html 所有 css 它工作正常看起来像我拥有的 html 正在创建某种溢出问题。
-
那是因为 CSS 的问题。为什么要从 CSS 相关问题中删除所有 CSS?这就像从一级方程式比赛中移除所有引擎。
标签: javascript css webview