许多程序员已经询问如何停止他们的网页内容 - 特别是他们的中心网页内容(margin: 0 auto;) - 在垂直滚动条出现时水平移动(被推).这对于Ajax用户和像我这样使用隐藏div和标签来组织数据的人来说一直是个问题.
当当前显示的页面改变使得所显示的材料的高度(内窗口高度)突然大于物理窗口高度时,会出现问题.
所有滚动条都不相同的现实加剧了这个问题.不同的浏览器为它们的滚动条赋予不同的宽度,并且不能(或者,至少,不应该)预测该差异.简而言之,理想的解决方案是滚动条宽度无关.
因此,这是一个自我回答的问题,在2017年8月5日之前将所有这些答案与其有用性(在可能的情况下)的评论以及我自己的解决方案汇总到一个答案.我已将其标记为重复我可以找到以前的问题,以便人们可以找到有关该问题的全面讨论.
请注意,这个答案解决了BODY内容转移的问题.如果您的DIV具有固定高度且存在移位问题,则应将DIV宽度设置为固定(px)宽度,以使其滚动条浮动在文本上方并添加一些右侧填充以防止文本落在其下方.贡献者:Hashbrown,
Avrahamcool,
Edward Newsome
我真的很困惑JavaScript中存在的不同属性,用于获取文档的尺寸以及如何获取这些数字.有人可以推荐一个好地方开始了解我如何获得文档的大小和正确定位的东西?