当滚动条出现时,FireFox中的长页偏移

时间:2008-11-22 16:45:18

标签: css firefox

在Firefox和Safari中,当页面足够长以显示滚动条时,居中的页面会移动几个像素。如果您浏览具有长页和短页的网站,该页面似乎会“跳转”。

IE7倾向于让滚动条始终可见,但在页面不够长时禁用它。由于HTML窗口的宽度永远不会改变,因此页面的居中不会改变。

是否有解决方法或方法来设置页面样式,以便它不会在Firefox和Safari中跳转?

感谢。

2 个答案:

答案 0 :(得分:13)

您可以随时启用滚动条:

html{
 overflow: scroll;
}

但是这也会给你水平滚动条,这样更好:

html{
   overflow-y:scroll;
   overflow-x:auto;
}

只需要垂直滚动和水平。

答案 1 :(得分:2)

此网站包含一个javascript来解决问题,这是一个比现有的更好的解决方案IMO(永久滚动条):

http://www.johnpezzetti.com/2011/01/31/removing-vertical-scrollbar-jump-shift-problem-a-javascript-fix-for-all-browsers

此脚本将等待,直到加载DOM,然后检查滚动条是否处于活动状态。如果是,它会计算滚动条的宽度,并将body的marginLeft设置为等于该宽度。这会抵消移位,因为它在DOM加载时运行,所以它会立即生效。