各种常用浏览器getBoundingClientRect的解析


Posted in Javascript onMay 21, 2009

先上测试代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>管理系统</title> 
</head> 
<body style="" onselectstart="return false;" ><!--7699c7--> 
<div id="w3124" style="border:1px solid #ff0000;position:relative;top:200px;left:400px;width:400px;"> 
</div> 
<SCRIPT> 
alert(document.getElementById("w3124").getBoundingClientRect().top); 
</SCRIPT> 
</body> 
</html>

下面是alert结果
IE、FF、Chrome:208
IE内核的Maxthon:215
IE内核的TheWorld:217
当body加上margin:0;padding:0 的时候IE、FF、Chrome、Maxthon下均为200,而只有TheWorld为202
然后把HTML代码头部的DOCTYPE声明去掉的时候FF、Chrome、Maxthon值均为200,而IE由于进入Quirks模式,此时的值为202,而TheWorld仍为为202
结论
FF、Chrome、Maxthon为始终坚持标准模式(Standards Mode),IE在加了声明后也进入标准模式(Standards Mode),只有TheWorld始终坚持Quirks模式,万恶!
建议
为了兼容把body加上margin:0;padding:0,注意加DOCTYPE声明(有了它IE还是挺听话的)
另:
1.通篇用绿色希望大家眼睛能放松些。
2.小弟第一次发博客,心灵脆弱,无法承受各种打击,如果有啥不对的,请指正,我一定虚心改正,拍砖请轻一点,谢谢啦
3.参考文献 
Javascript 相关文章推荐
Javascript 学习笔记 错误处理
Jul 30 Javascript
一款js和css代码压缩工具[附JAVA环境配置方法]
Apr 16 Javascript
JavaScript全局函数使用简单说明
Mar 11 Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
May 03 Javascript
JQuery实现点击div以外的位置隐藏该div窗口
Sep 13 Javascript
JS获取键盘上任意按键的值(实例代码)
Nov 12 Javascript
浅谈页面装载js及性能分析方法
Dec 09 Javascript
JS模拟bootstrap下拉菜单效果实例
Jun 17 Javascript
javascript定时器取消定时器及优化方法
Jul 08 Javascript
ajax前台后台跨域请求处理方式
Feb 08 Javascript
微信小程序下拉框功能的实例代码
Nov 06 Javascript
axios实现简单文件上传功能
Sep 25 Javascript
简单的js分页脚本
May 21 #Javascript
input+select(multiple) 实现下拉框输入值
May 21 #Javascript
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
May 21 #Javascript
Javascript 兼容firefox的一些问题
May 21 #Javascript
鼠标经过的文本框textbox变色
May 21 #Javascript
jQuery 性能优化指南(3)
May 21 #Javascript
jQuery 性能优化指南(2)
May 21 #Javascript
You might like
?生?D片??C字串
2006/12/06 PHP
PHP读取PDF内容配合Xpdf的使用
2012/11/24 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
PHP中for循环与foreach的区别
2017/03/06 PHP
用jQuery简化JavaScript开发分析
2009/02/19 Javascript
关于JavaScript中的关联数组分析
2013/04/09 Javascript
jQuery实现折线图的方法
2015/02/28 Javascript
js实现的牛顿摆效果
2015/03/31 Javascript
jQuery的css() 方法使用指南
2015/05/03 Javascript
Vue.js使用v-show和v-if的注意事项
2016/12/13 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
2017/11/27 Javascript
快速搭建vue2.0+boostrap项目的方法
2018/04/09 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
vue devtools的安装与使用教程
2018/08/08 Javascript
layui从数据库中获取复选框的值并默认选中方法
2018/08/15 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
浅谈Vue.js组件(二)
2019/04/09 Javascript
TypeScript的安装、使用、自动编译的实现
2020/04/10 Javascript
Python实现的字典值比较功能示例
2018/01/08 Python
django url到views参数传递的实例
2019/07/19 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
Python使用pdb调试代码的技巧
2020/05/03 Python
基于Tensorflow的MNIST手写数字识别分类
2020/06/17 Python
selenium判断元素是否存在的两种方法小结
2020/12/07 Python
Python从MySQL数据库中面抽取试题,生成试卷
2021/01/14 Python
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
工作时间上网检讨书
2014/02/03 职场文书
社团招新策划书
2014/02/04 职场文书
教师党员个人整改措施
2014/10/27 职场文书
2015年感恩节演讲稿(优选篇)
2015/03/20 职场文书
2015年办公室文秘工作总结
2015/04/30 职场文书
宾馆安全管理制度
2015/08/06 职场文书
Golang中interface{}转为数组的操作
2021/04/30 Golang
vue @click.native 绑定原生点击事件
2022/04/22 Vue.js