1

我在 IE8 中遇到了一个令人沮丧但看似随机的渲染错误。我在页面上有一些绝对定位的元素(相对于页面主体定位),它们的显示由 jQuery 切换。

10 次中有 8 次元素被正确渲染,但有时不遵守定位,它们只是简单地放置在浏览器窗口的左上角(实际上绝对定位在顶部 0,左侧 0)。

如果我查看 IE 开发人员工具栏中的元素属性,我可以看到设置了正确的 css 属性——它们只是没有被应用。如果我调整浏览器窗口的大小,那么元素将跳转到正确的位置——所以它看起来确实像一个真正的渲染错误。

我在页面上设置了正确的 DOCTYPE,所以浏览器不处于怪癖模式。

有什么想法可以解决这个问题,或者其他人有过类似的经历吗?

4

4 回答 4

3

如果我没记错的话,当试图在显示之前设置某物的位置时会出现问题。

例如

  1. 隐藏对象
  2. 定位
  3. 显示对象

该对象将出现在左上角,直到再次设置位置或调整窗口大小,迫使 IE 重新计算位置

于 2009-10-13T10:59:26.033 回答
1

有类似的问题-> IE8 文本框不可编辑(当我的应用程序的包装器具有位置:绝对时)。单击仅在边框中起作用。填充颜​​色和透明也不起作用。通过此文档类型更改,问题得到解决。

<!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

于 2011-12-23T17:02:32.507 回答
1

您是否尝试过 IE8 特定属性:

-ms-背景位置-x:1px;-ms-背景位置-y:29px;

它们只在 IE8 中工作并解决了这个确切的问题。

于 2009-12-30T20:19:36.673 回答
0

我也遇到过这种情况,我正在使用一些 jquery 来显示一个绝对定位的元素,该元素仅在单击另一个元素时才可见。微软继续完全错误地理解基础知识是多么奇怪。

于 2010-01-28T03:23:53.113 回答