我在IE8中遇到了令人沮丧但看似随机的渲染错误。我在页面上有一些绝对定位的元素(相对于页面主体定位),其显示由jQuery切换。
10次中有8次元素被正确渲染,但有时不遵循定位,它们只是放在浏览器窗口的左上角(实际上绝对位于顶部0,左边0)。
如果我查看IE Developer Toolbar中的元素属性,我可以看到设置了正确的css属性 - 它们只是没有被应用。如果我调整浏览器窗口的大小,那么元素将跳转到正确的位置 - 因此它看起来像一个真正的渲染错误。
我在页面上设置了正确的DOCTYPE,因此浏览器不处于怪癖模式。
我有什么想法可以解决这个问题,还是有其他人经历过类似的事情?
答案 0 :(得分:3)
如果我没记错的话,在显示之前尝试设置某个位置时会出现问题。
e.g。
对象将出现在左上角,直到再次设置位置或调整窗口大小强制IE重新计算位置
答案 1 :(得分:1)
您是否尝试过IE8特定属性:
-ms-background-position-x:1px; -ms-background-position-y:29px;
他们只能在IE8中工作并解决这个问题。
答案 2 :(得分:1)
有类似的问题 - > IE8文本框不可编辑(当我的应用程序的包装器具有位置:绝对时)。单击仅在边框中工作。填充颜色和透明也没有工作。通过此doctype更改,问题已修复。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
来源:http://www.codingforums.com/showthread.php?p=1173375#post1173375
答案 3 :(得分:0)
我也经历过这种情况,我使用一些jquery来显示一个绝对定位的元素,只有在单击另一个元素时才可见。微软继续完全错误的基础是多么奇怪。