jQuery-IE8-fadeIn()/fadeOut()像素移位

jQuery-IE8-fadeIn()/fadeOut()像素移位,jquery,fadeout,Jquery,Fadeout,我正在用另一个类似的术语替换一个绝对定位的词典术语: jQuery('#replaceme').fadeOut(150,function(){ jQuery(“#withme”).fadeIn(150); }); 这是一个非常简单的代码,除了IE8之外,它在所有浏览器中都非常出色。在IE8中,当fadeOut()执行其操作时,整个文本块向上移动2-3个像素,然后在fadeIn()上向下移动2-3个像素 你知道是什么导致了这一切吗?有人知道防止这种情况发生的方法吗 顺便说一句:我使用jQuery1

我正在用另一个类似的术语替换一个绝对定位的词典术语:

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

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

你知道是什么导致了这一切吗?有人知道防止这种情况发生的方法吗


顺便说一句:我使用jQuery1.3.1得到的结果与使用1.3.2得到的结果相同。我所有严格的XHTML和CSS都会验证。

它是从内联元素更改为内联块还是块元素

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

编辑:对评论的回应

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

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

变成

dt > dd.def, #replaceme { }

每个字典定义都是一个块级元素,其中包含标题、图像和段落标记。它们完全位于同一位置,并设置为:display:none;默认情况下。当用户点击定义交换时,当前的定义会消失,然后新的定义会消失。Jonathon,非常感谢您的帮助。事实证明,定义列表的CSS没有任何问题。该站点的标题div被设置为100px高,并且有一个元素的底部边距超过了该高度。很明显,在执行jQuery淡出的过程中,这个利润率偏离了IE8。
dt > dd.def, #replaceme { }