如果offsetParent
是TABLE元素,则offsetLeft
在IE和Chrome中的行为不同
IE确实包含边界Chrome不包括边界
JSFIDDLE:https://jsfiddle.net/o4qcvqp6/1/
IE的结果:td 3:210,span 3:210
Chrome的结果:td 3:200,span 3:210
为什么他们的行为不同,有没有办法得到同样的结果?
它们是不同的,因为没有设置标准,每个浏览器对偏移及其父级的处理方式不同,结果也不同。请查看Bugzilla上的此错误报告,以便进行良好的讨论。
你可以检查正在使用的浏览器并相应地显示,尽管我不建议使用这个
var isChrome = !!window.chrome && !isOpera;
var isIE = false || !!document.documentMode;
if(isChrome){
//format for Chrome
}
else if(isIE){
//format for IE
}