Jquery Internet Explorer:溢出和浮动

Jquery Internet Explorer:溢出和浮动,jquery,internet-explorer,animation,overflow,css-float,Jquery,Internet Explorer,Animation,Overflow,Css Float,我在一个div中有一个img。我已经将img设置为“float:right”,并将div设置为“overflow:hidden”。因为div比img窄,所以我希望img的左侧部分被切断并隐藏,这在Firefox中确实是如此。但是,IE拒绝承认img的“浮动:右侧”属性,始终将img固定在div的左侧,并切断img的右侧部分。这个问题有解决办法吗?还是我做错了什么 **背景信息 我之所以要这样做,是因为我希望img以jquery的“盲”效果出现(从左到右),然后以类似的盲效果消失(同样,从左到右

我在一个div中有一个img。我已经将img设置为“float:right”,并将div设置为“overflow:hidden”。因为div比img窄,所以我希望img的左侧部分被切断并隐藏,这在Firefox中确实是如此。但是,IE拒绝承认img的“浮动:右侧”属性,始终将img固定在div的左侧,并切断img的右侧部分。这个问题有解决办法吗?还是我做错了什么


**背景信息

我之所以要这样做,是因为我希望img以jquery的“盲”效果出现(从左到右),然后以类似的盲效果消失(同样,从左到右)

jquery的默认盲效果不能处理从左到右的消失。我猜这是因为某些模式(隐藏对显示)和某些方向(左对右或上对下)组合需要额外移动div的左上位置。让我用一个示例来演示。假设我们想让一个图像从左到右显示,并带有盲效果。这很简单,我们只需将div overflow设置为hidden,将image设置为float left,然后将div的宽度从0更改为image的宽度。另一方面,如果我们现在想让图像从左到右消失并产生盲效果,我们必须将图像设置为向右浮动,并将div的宽度从图像宽度缩小为0,同时将div的左上角推到右侧,以保持图像的右边缘静止


我编写了包含左上角移动的代码,在FF中效果很好,但在IE中失败。因为IE不尊重浮动:右,而是坚持将图像固定到左侧,其效果是jquery的“幻灯片”而不是“盲板”动画。

最坏情况:在图像左侧滑动一个白色DIV?但是非常跨平台。

对于IE 7,您可以尝试以下方法:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
</head>
<body>
<div style="overflow: hidden; width: 150px; direction: rtl;">
   <img src="yourimage.png" style="float: right" />
</div>
</body>
</html>

方向:rtl Style在IE8中使用IE7标准模式为我工作。使用IE8标准的IE8不需要方向样式


希望这能解决你的问题。我不确定它是否适用于div中的任何其他内容,但它似乎能达到您想要的图像效果。

Wow,效果不错。direction属性确实有效,而float属性被IE忽略。事实上,我完全没有指定图像的float。谢谢顺便说一句,我想补充一点,在FF、IE和Chrome中只使用direction属性是有效的。我没有想到这个解决方案。那肯定会有用的。唯一的问题是,在我看来,如果图像位于复杂背景之上(如我的例子),那么DIV必须具有与其自身背景相同的复杂背景,如果这有意义的话。问题是它也会有同样的问题。对于简单、统一的背景,这种方法似乎易于实现,而且非常简单。