我遇到过IE7之前从未真正遇到的事情。我有一个包装div,背景图像应用于它。这个图像应该一直重复,直到包装div结束。在IE7中似乎存在滚动问题,如果我使用滚动条来查看最初不可见的页面部分,则背景图像将“切断”并且不会在最后100px左右重复。只有在我必须滚动才能看到更多内容时才会发生这种情况。就像它没有完全加载不能立即看到的区域的背景图像。
奇怪的是,如果我使用鼠标滚轮向上和向下滚动页面,背景图像就会很好地重复。如果我使用滚动条,它会随机断开(从不超过100px,但有时只是最后的20px,30,40等)。
到目前为止,我已尝试以下方法进行故障排除:
1)也为div添加了背景颜色。背景颜色也会破裂,因此不仅仅是背景图像重复出现问题
2)在包装div中添加了1%的最小高度
3)添加了一个位置:相对于div。我在某处读到这个修复了一个奇怪的IE7背景错误。这没有用。
感谢您的帮助。我不确定我的代码中的其他地方是否有一些打嗝造成这种情况(我将继续研究)或者是否是一些众所周知的IE7问题。再次,我发现奇怪的是,使用鼠标上的滚轮让背景渲染应该如此。单击,按住并使用滚动条会导致其中断。
编辑:这是一个链接到可疑问题的屏幕截图。 http://skitch.com/flight/dspeh/ie7bgerror 最上面一个是错误。底部屏幕是它应该如何加载。
我注意到的另一件事:如果我在窗口背景破碎的情况下最小化窗口,然后再次将其最大化,则背景图像会自行修正。
答案 0 :(得分:2)
我的猜测是底部的3个框是浮动div。试试这个:
#backgroundDiv { overflow:hidden; min-height:100%; height:auto!IMPORTANT; height:100%; }
IE6 / 7有时会出现最小高度错误。这段代码将导致IE6 / 7默认为100%... IE有时喜欢使用最后一个声明而不是跟随!important调用;而在显示页面时,每个其他浏览器都会使用!important调用。