IE8为不需要的滚动条留出空间

时间:2009-11-05 08:43:34

标签: javascript internet-explorer-8 resize scrollbars

我的页面是一个带有标题的3列设计。它在IE6和IE7中呈现得很好(据我所知)。我使用javascript来调整页面的某些元素,以适应浏览器窗口。但是,在IE8上,它会尝试为滚动条留出空格,即使它们没有渲染,也会在调整大小时产生跳跃效果(页面在离开间隙之间交替,然后不是。)

如果我设置了溢出:在我的CSS中滚动它解决了问题,但我不希望滚动条在不需要时显示,所以这只是一个临时修复。

有什么方法可以让我的页面延伸到最大宽度和高度(使用javascript)并且只在需要时获取滚动条?

3 个答案:

答案 0 :(得分:2)

我认为你现在已经考虑过了你的想法,我已经考虑过了。

IE7及以下版本始终显示滚动条(如果不需要则禁用它)。因此,当需要滚动时,不需要更改UI以启用/禁用滚动。

自IE8以来,这已不再适用。当需要滚动时,页面会跳转以适应滚动条所需的新空间。任何默认情况下都不显示滚动条的浏览器也是如此。

如果您在正文上设置overflow:scroll,则默认会让所有浏览器都显示滚动条,这样可以防止跳转。

答案 1 :(得分:0)

您始终可以添加overflow-x: hidden来禁止水平滚动条。与overflow: scroll配对后,它会使用水平滚动条执行您想要的操作。

垂直滚动条将保持可见,但它将被禁用。

答案 2 :(得分:0)

宽度= 100%在IE8中不起作用..尤其是表格

http://www.velocityreviews.com/forums/t691164-table-100-and-horizontal-scrollbar-why.html

而是尝试使用width = 99%或98%