【发布时间】:2009-10-29 06:46:19
【问题描述】:
我在 div 中有一个 img。我已将 img 设置为“float: right”,将 div 设置为“overflow: hidden”。因为 div 比 img 窄,所以我希望 img 的左侧部分被切断和隐藏,Firefox 中确实是这种情况。但是,IE 拒绝承认 img 的“float:right”属性,总是将 img 锚定到 div 的左侧并切断 img 的右侧部分。有解决此问题的方法吗?还是我做错了什么?
**背景资料
我想这样做的原因是因为我希望 img 以 jquery 的“盲”效果出现(从左到右),然后以类似的盲效果消失(同样,从左到右)。
jquery 的默认盲效果不处理从左到右的消失。我猜这是因为某些模式(隐藏与显示)和某些方向(左与右或上与下)组合需要额外移动 div 的左上角位置。让我用一个例子来演示。假设我们想让一个图像从左到右出现,并带有盲目效果。嗯,这很简单,我们只是将div溢出设置为隐藏,图像向左浮动,然后将div的宽度从0更改为图像的宽度。另一方面,如果我们现在想让图像从左到右消失并产生盲效果,我们必须将图像设置为向右浮动,并将 div 的宽度从图像宽度缩小到 0,同时轻推div的左上角向右,以保持图像的右边缘静止。
我编写了代码来合并左上角的动作,它在 FF 中运行良好,但在 IE 中失败。因为IE不会尊重float:right,而是坚持把图片锚定在左边,所以效果是jquery的“slide”而不是“blind”动画。
【问题讨论】:
标签: jquery internet-explorer animation overflow css-float