在Chrome与IE中定位元素

时间:2013-11-18 19:38:48

标签: javascript jquery html css

我有一些元素,我试图以数学方式在两行中定位。

我有一个thumb_container,它是一个div并且绝对定位。然后在内部使用jquery我正在加载并附加图像缩略图与此for循环:

for(var i = 0; i < 7; i++) {
    var img = new Image();
    $(img).addClass("thumb");
    $(img).offset({ top:Math.floor(i / 5) * 95, left: (i % 5) * 55 })
    img.src = "images/girl_thumb_" + i + ".jpg";
}

这是相关的css

img, div {
    position:absolute;
}
#thumb_container {
    left:15px;
    top:370px;
}

这适用于Chrome就好了。我得到两行和五列所有对齐jsut罚款,这是一个截图。

chrome

但是在IE中,行向右下方向下移动。

ie

2 个答案:

答案 0 :(得分:6)

此问题称为IE“stepdown”错误。

这可能是因为IE的旧版本添加了隐藏的<br>元素。

根据CSS Tricks,您可以使用以下适用于浮动元素的CSS规则来解决此问题:

ul#menu li {
    display: inline; /* Prevents "stepdown" */
}

有关更详细的说明,请参阅http://css-tricks.com/prevent-menu-stepdown/

答案 1 :(得分:1)

通过在jquery中使用css()而不是offset()

来修复它