4

我将一个绝对定位的字典术语替换为另一个,如下所示:

jQuery('#replaceme').fadeOut(150, function() { jQuery('#withme').fadeIn(150); });

这是非常简单的代码,在除 IE8 之外的所有浏览器中看起来和运行都很好。在 IE8 中,当 fadeOut() 执行其操作时,整个文本块向上移动 2-3 个像素,然后在 fadeIn() 时向下移动 2-3 个像素。

关于可能导致这种情况的任何想法?有人知道防止这种情况发生的方法吗?

顺便说一句:我使用 jQuery 1.3.1 得到的结果与使用 1.3.2 得到的结果相同。我所有的严格 XHTML 和 CSS 都经过验证。

4

1 回答 1

1

它是否从内联元素变为内联块或块元素?

使用ie8开发者工具,尝试将元素的显示属性更改为display:inline-block,看看是否出现问题。

编辑:对评论的回应

可能发生的情况是元素被从预期的文档流中取出(附加到正文,或者新的父级是插入,并且附加到那个,等等)并且通常适用的 css 规则在这种情况下不适用.

使用 firebug 来识别应用于该元素的所有 css 规则,然后尝试将此元素 id #replaceme 添加到选择器列表中,以确保该元素按照您期望的方式设置样式。例如

dt > dd.def { }

变成

dt > dd.def, #replaceme { }
于 2009-06-03T00:05:57.390 回答