我在Chrome上运行offsetLeft测量时似乎遇到了问题。在Firefox上测量似乎很好。 offsetTop很好。
使用以下HTML:
<div id="theAbsoluteParent">
hello <span id="theRelativeChild">world <span id="theMeasure">!</span></span>
</div>
将其作为CSS:
#theAbsoluteParent
{
position:absolute;
top:100px;
left:100px;
width:300px;
}
#theRelativeChild
{
position:relative;
top:50px
}
然后运行以下代码:
document.getElementById('theMeasure').theMeasure.offsetLeft
从我得到的数字来看,似乎offsetLeft没有获得其父亲的相对位置 - theRelativeChild。而是它返回看起来相对于theAbsoluteParent的位置。 offsetTop不是这种情况。
在firefox上运行时,问题就消失了。
有解决方法吗?我希望theMeasure相对位置到AbsoluteParent。想我将只有一个循环迭代offsetParents并添加......但是有了这个错误它显然不起作用。
在这里找到一个JSFiddle - http://jsfiddle.net/galkahana/UG4Vn/ - 来证明这个问题。