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

时间:2009-06-02 23:53:59

标签: jquery fadeout

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

jQuery('#replaceme')。fadeOut(150,function(){     jQuery的( '#回事,直接')淡入(150)。 });

这个非常简单的代码在IE8以外的所有浏览器中看起来都很棒。在IE8中,当fadeOut()正在做它的事情时,整个文本块向上移动2-3个像素,然后在fadeIn()后向下移动2-3个像素。

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

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

1 个答案:

答案 0 :(得分:1)

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

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

编辑:对评论的回应

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

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

dt > dd.def { }

成为

dt > dd.def, #replaceme { }