滚动不在IE8中工作

时间:2013-03-04 12:03:10

标签: internet-explorer internet-explorer-8 scroll

我有IE8(版本:8.0.6001.18702)和本网站(gute-tat.de)的问题,我自己无法解决。在所有其他浏览器中滚动很好,但在IE8中,滚动只能偶尔使用或根本不运行。我无法通过stackoverflow或google找到解决方案。

我尝试通过验证网站并修复所有错误来解决问题。此页面只有2个错误http://www.gute-tat.de/konzept.html,仍然滚动仍然损坏。 剩下的两个错误之一,“onLoad” - 错误也不是原因。我暂时将其删除,并在没有解决问题之后将其重新放入。 (我刚接手维护这个网站的工作,所以我不想太快地做太多的改动)

我也想改变doctype,但Typolight只允许选择“XHTML Strict”和“XHTML Transitional”。

如果有人能指出我正确的方向,这将是我的一天。

提前致谢, 斯蒂芬

1 个答案:

答案 0 :(得分:1)

问题是由全屏背景图像引起的,通过表格实现。

<body>
    <div id="mainwrapper">
        <!-- the actual conent of the page... -->
    </div>
    <div id="bg">
        <div>
            <table cellspacing="0" cellpadding="0">
                <tbody><tr><td>
                    <img alt="" src="pathtobackgroundimage/bg_image.jpg">
                </td></tr></tbody>
            </table>
        </div>
    </div>
</body>

只要鼠标指针停留在背景图像上,滚动就会被打破。如果鼠标指针放在实际内容的顶部,滚动工作正常。

我知道桌子是实现全屏背景图像的错误方法,但我不知道它会导致滚动不能在IE8中工作(至少在这种情况下)。

我无法在合理的时间内发现背景的确切部分会导致问题。因为我会用更新的方法替换桌子,所以我不想浪费更多时间。但是,如果有人可以分享更多关于此的见解,我将不胜感激。

这里是相关的CSS

html, body, #bg, #bg table, #bg td {
    height: 100%;
    overflow: hidden;
    width: 100%;
}
#bg div {
    height: 200%;
    left: -50%;
    position: absolute;
    top: -50%;
    width: 200%;
}
html, body, #bg, #bg table, #bg td {
    height: 100%;
    overflow: hidden;
    width: 100%;
}
#bg td {
    text-align: center;
    vertical-align: middle;
}
#bg img {
    margin: 0 auto;
    min-height: 50%;
    width: 50%;
}