各种常用浏览器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 26 Javascript
AngularJS的表单使用详解
Jun 17 Javascript
javascript如何操作HTML下拉列表标签
Aug 20 Javascript
jquery事件与绑定事件
Mar 16 Javascript
Angular中支持SCSS的方法
Nov 18 Javascript
vue移动端弹框组件的实例
Sep 25 Javascript
详解Node.js中path模块的resolve()和join()方法的区别
Oct 29 Javascript
Vue常用的几个指令附完整案例
Nov 06 Javascript
vue + element-ui的分页问题实现
Dec 17 Javascript
深入解析koa之异步回调处理
Jun 17 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
Jul 01 Javascript
vue项目实现减少app.js和vender.js的体积操作
Nov 12 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
PHP,ASP.JAVA,JAVA代码格式化工具整理
2010/06/15 PHP
smarty中post用法实例
2014/11/28 PHP
php HTML无刷新提交表单
2016/04/05 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
2019/10/03 PHP
PhpStorm连接服务器并实现自动上传功能
2020/12/09 PHP
如何动态加载外部Javascript文件
2015/12/02 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
2016/09/20 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
从零学习node.js之详解异步控制工具async(八)
2017/02/27 Javascript
JavaScript中的高级函数
2018/01/04 Javascript
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
微信小程序实现即时通信聊天功能的实例代码
2018/08/17 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
pm2启动ssr失败的解决方法
2019/06/29 Javascript
VueJS 取得 URL 参数值的方法
2019/07/19 Javascript
javascript实现蒙版与禁止页面滚动
2020/01/11 Javascript
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
Python 列表list使用介绍
2014/11/30 Python
Python中用Spark模块的使用教程
2015/04/13 Python
Python实现的插入排序算法原理与用法实例分析
2017/11/22 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
pytorch 预训练层的使用方法
2019/08/20 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
Flask缓存静态文件的具体方法
2020/08/02 Python
html5 input属性使用示例
2013/06/28 HTML / CSS
医学生自荐信范文
2013/12/03 职场文书
技术总监岗位职责
2013/12/05 职场文书
大学生饮食配送创业计划书
2014/01/04 职场文书
《诚实与信任》教学反思
2014/04/10 职场文书
学习雷锋演讲稿
2014/05/10 职场文书
小学2016年第十八届推普周活动总结
2016/04/05 职场文书
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL
create-react-app开发常用配置教程
2022/06/25 Javascript
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android