2

当一个孩子进入一个有溢出和边框的父母时,FF 和 IE 给出不同的 offsetTop。FF 从 offsetTop 值中减去父级的上边框大小,因此返回一个负值(经常);我认为 IE 会返回正确的值。

测试一下

有没有一种跨浏览器的方式来获得相同的值?

谢谢你。

4

2 回答 2

2

offsetTop属性给出了相对于偏移父级的位置。Fx 和 IE 之间的区别在于,在这种情况下,它们使用不同的元素作为偏移父元素。

我不确切知道溢出如何影响这一点,而且我还没有在定义中找到任何关于它的内容。但是,IE 中有一个已知的错误,它使偏移父级错误,它可能是您在此处看到的该错误的变体。

于 2010-03-08T15:35:29.940 回答
0

这似乎是自 2005 年以来一直开放的 Firefox 中的一个错误。问题似乎是 offsetTop 没有明确的规范。

https://bugzilla.mozilla.org/show_bug.cgi?id=307502

使用 getBoundingClientRect 可能有效(对我有用)。

var rect;
rect = el.getBoundingClientRect();
return rect.top;
于 2011-07-25T13:21:10.057 回答