在HTML中我有一个相对定位的div。它的边框为6px。它没有填充物。在它是另一个div。这个div没有余量。
我在Firefox中查看它。
我做了一个小提琴,jsfiddle.net/ericjvandervelden/uKgYs/10。
如果内部div是静态的,我知道offsetTop=0
。
但如果内部div是绝对定位的,则它具有offsetTop= -6px
。我不明白这一点。
答案 0 :(得分:1)
似乎fireSetTop的Firefox实现可能会出现绝对定位错误。
我改进了your jsfiddle。
我已经测试了firefox,chrome和IE8中的位置和偏移的函数和jquery实现,没有结果是一样的......
Absolute | offSetTop | jquery.offSet.top | jquery.position.top Firefox | -6 | 30 | 0 Chrome | 0 | 26 | 0 IE8 | 5 | 25 | -1 Static | offSetTop | jquery.offSet.top | jquery.position.top Firefox | 0 | 384 | 0 Chrome | 0 | 376 | 0 IE8 | 5 | 371 | -1
如果您使用绝对位置,我的建议是使用jquery.position而不是原生的offSetTop。
虽然,IE仍然行为奇怪。至少,无论职位类型如何,它都会有奇怪的行为。
我相信这个bug report可能会引起人们的兴趣。