javascript - 如果 TABLE 元素有边框,则不同的 offsetLeft(IE 与 Chrome)

标签 javascript html google-chrome internet-explorer

offsetLeft 在 IE 和 Chrome 中表现不同,如果 offsetParent 是一个 TABLE 元素并设置了左边框:

IE 确实包含边框 Chrome 不包含边框

JSFIDDLE:https://jsfiddle.net/o4qcvqp6/1/

IE 的结果:td 3:210,span 3:210

Chrome 的结果:td 3:200,span 3:210

为什么它们的行为不同,有什么方法可以得到相同的结果吗?

最佳答案

它们是不同的,因为没有固定的标准,每个浏览器都不同地对待偏移量和它们的 parent ,结果也不同。结帐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
}

关于javascript - 如果 TABLE 元素有边框,则不同的 offsetLeft(IE 与 Chrome),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34551593/

相关文章:

html - <a href ="/"> 有什么作用?

html - 在 anchor 标签上按下任何键盘键时,轮廓偏移的变化是预期的行为吗?

javascript - 针对多个 ID/元素的 document.getElelementById() 的替代方案

performance - 如何从 Chrome 开发工具性能框架中获取屏幕截图

javascript - ReactJS 使用内容脚本而不弹出(Chrome 扩展)

javascript - 如何使用javascript从包含数值的字符串中获取第一个字符的索引

javascript - 从 iframe 内容到对象内容的 jquery 选择器

google-chrome - Selenium 网络驱动程序, Chrome 。我在运行 Python 测试期间(在开始和结束时)遇到未实现的错误

javascript - 当鼠标悬停在菜单上时保持下拉打开

php - 调用 Ajax 并返回响应