ie7奇怪的漂浮权问题

时间:2009-05-23 04:16:30

标签: css internet-explorer-7 css-float

这是在IE7中给我带来问题的html代码

<div style="position:absolute;top:276px;left:194px;" class="drag layer_3">
<img class="deleteitem" height="12px" width="12px" title="Remove" src="/static/redclose.png" style="float:right;cursor:pointer;">
<img src="/static/18.png"  >
</div>

这是它应该看起来的样子,它在ie8,firefox

中看起来很好

http://img200.imageshack.us/img200/189/ie8.png

但是在IE7中,右浮动图像像这样跳到文档的右端

http://img33.imageshack.us/img33/6239/ie7bug.png

我该如何解决这个问题?我尝试删除高度宽度属性并使用max-height,max-width。这没有帮助。 非常感谢

4 个答案:

答案 0 :(得分:2)

您可以显式设置div的宽度,也可以反转图像的顺序,向左浮动而不是向右浮动:

<div style="position:absolute;top:276px;left:194px;" class="drag layer_3">
    <img src="/static/18.png" style="float:left"  >
    <img class="deleteitem" height="12px" width="12px" title="Remove"
         src="/static/redclose.png" style="cursor:pointer;">
</div>

答案 1 :(得分:1)

我相信有问题的元素浮动到“drag layer_3”的父级右侧,一旦你将某个人的绝对位置从普通文档流中取出,就会浮动。

答案 2 :(得分:1)

您的问题可能已在此处得到解答:Floating Too Far Right!

他建议使用jQuery来执行此操作,因为它被编写为独立于浏览器。

另外,请在底部查看原作者的解决方案(不使用jQuery)。

答案 3 :(得分:1)

我认为我们需要看到.drag和layer_3。目前我看不到Remove的父级没有定义的宽度。我相信你的div的宽度可能在ie7中有所不同。尝试为其添加边框以查看其计算宽度。