这里是一个简单的例子: http://jsfiddle.net/CnUkA/5/
我有一个应用了 SlideDown 动画的外部 div,该 div 内部是一个带有 position:relative
的内部 div。
在 IE7 下,单击按钮时会立即显示内部 div。在我使用它的现实世界中,我需要该 div 相对于我可以用绝对值将子元素放置在其中。
--- 编辑 ---
在 #slide
上使用 position:absolute
不适合我的情况。
我将拥有相对于 #inner
div 绝对定位的元素,因此我也无法从中删除 position:relative
。
这是一个更新的示例,展示了为什么我需要在 #inner
上使用 position:relative
。
http://jsfiddle.net/CnUkA/9/
在 IE7 中,相对和绝对元素都会在幻灯片动画完成之前显示
--- 编辑 2 ---
结合使用以下答案,我认为这是一个不错的解决方案:
将 position:relative
添加到向下滑动的 div,然后在动画完成后设置 position:static
。这可以防止元素消失。
最佳答案
看起来子级会立即显示,因为偏移父级不是 #slide
div。
如果您在 #slide
div 上设置 position:relative;
,效果会更好,但由于某种原因,最后三行在幻灯片后消失。
如果您在 #slide
div 上设置 position:absolute;
,它就可以正常工作。
关于jQuery SlideDown,IE7 子项位置为 :relative 时的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10616358/