各种常用浏览器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 相关文章推荐
jQuery基础框架浅入剖析
Dec 27 Javascript
图片上传判断及预览脚本的效果实例
Aug 07 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
Nov 25 Javascript
javascript 原型链维护和继承详解
Nov 26 Javascript
jquery制作 随机弹跳的小球特效
Feb 01 Javascript
js滚轮事件兼容性问题需要注意哪些
Nov 15 Javascript
详解JavaScript数组过滤相同元素的5种方法
May 23 Javascript
基于原生js运动方式关键点的总结(推荐)
Oct 01 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
Jul 24 jQuery
Vue+Koa2+mongoose写一个像素绘板的实现方法
Sep 10 Javascript
JavaScript监听触摸事件代码实例
Dec 30 Javascript
Vue简单实现原理详解
May 07 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
短波问题解答
2021/02/28 无线电
关于二级目录拖拽排序的实现(源码示例下载)
2013/04/26 PHP
PHP与MongoDB简介|安全|M+PHP应用实例详解
2013/06/17 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
2016/11/23 PHP
php常用字符函数实例小结
2016/12/29 PHP
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
javascript 获取模态窗口的滚动位置代码
2013/08/06 Javascript
7个jQuery最佳实践
2016/01/12 Javascript
JS实现的颜色实时渐变效果完整实例
2016/03/25 Javascript
JavaScript操作选择对象的简单实例
2016/05/16 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
浅谈jquery拼接字符串效率比较高的方法
2017/02/22 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
js封装成插件的步骤方法
2017/09/11 Javascript
JS实现的文件拖拽上传功能示例
2018/05/21 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
laydate如何根据开始时间或者结束时间限制范围
2018/11/15 Javascript
Nodejs中获取当前函数被调用的行数及文件名详解
2018/12/12 NodeJs
微信小程序返回箭头跳转到指定页面实例解析
2019/10/08 Javascript
Python实现全排列的打印
2018/08/18 Python
18个Python脚本可加速你的编码速度(提示和技巧)
2019/10/17 Python
python定间隔取点(np.linspace)的实现
2019/11/27 Python
python plotly画柱状图代码实例
2019/12/13 Python
python 基于opencv实现高斯平滑
2020/12/18 Python
详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用
2020/08/24 HTML / CSS
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
英国豪华家具和经典家居饰品购物网站:OKA
2020/06/05 全球购物
《富饶的西沙群岛》教学反思
2014/04/09 职场文书
小学作文指导之如何写人?
2019/07/08 职场文书
Go语言实现Base64、Base58编码与解码
2021/07/26 Golang
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android
Mysql数据库事务的脏读幻读及不可重复读详解
2022/05/30 MySQL
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android
前端与RabbitMQ实时消息推送未读消息小红点实现示例
2022/07/23 Java/Android