offsetLeft
是一个TABLE元素,则 offsetParent
在IE和Chrome中的行为有所不同:
IE确实包含边框 Chrome不包含边框
JSFIDDLE:https://jsfiddle.net/o4qcvqp6/1/
IE的结果:td 3: 210 ,跨度3:210
Chrome的结果:td 3: 200 ,范围3:210
为什么他们表现不同,有没有办法得到相同的结果?
答案 0 :(得分:1)
它们是不同的,因为没有设定标准,并且每个浏览器以不同的结果处理偏移量和它们的父母。结帐this bug report on Bugzilla进行了很好的讨论。
您可以检查正在使用的浏览器并进行相应显示,但我不建议使用此
var isChrome = !!window.chrome && !isOpera;
var isIE = false || !!document.documentMode;
if(isChrome){
//format for Chrome
}
else if(isIE){
//format for IE
}