各种常用浏览器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 相关文章推荐
Mootools 1.2教程 Tooltips
Sep 15 Javascript
jquery $(document).ready() 与window.onload的区别
Dec 28 Javascript
JavaScript判断DOM何时加载完毕的技巧
Nov 11 Javascript
jquerymobile局部渲染的各种刷新方法小结
Mar 05 Javascript
javascript实现table表格隔行变色的方法
May 13 Javascript
js右下角弹出提示框示例代码
Jan 12 Javascript
JS中创建函数的三种方式及区别
Mar 13 Javascript
JSP防止网页刷新重复提交数据的几种方法
Nov 19 Javascript
Node.js中DNS模块学习总结
Feb 28 Javascript
vue项目打包之后背景样式丢失的解决方案
Jan 17 Javascript
JS实现可控制的进度条
Mar 25 Javascript
vue2.0 watch里面的 deep和immediate用法说明
Oct 30 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
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
URL Rewrite的设置方法
2007/01/02 PHP
PHP实现域名whois查询的代码(数据源万网、新网)
2010/02/22 PHP
php中用数组的方法设置cookies
2011/04/21 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
2017/02/15 PHP
JavaScript判断两种格式的输入日期的正确性的代码
2007/03/25 Javascript
javascript 闭包
2011/09/15 Javascript
jquery实现弹出窗口效果的实例代码
2013/11/28 Javascript
javascript实现数独解法
2015/03/14 Javascript
javascript解决IE6下hover问题的方法
2015/07/28 Javascript
动态加载js文件简单示例
2016/04/21 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
JS触摸与手势事件详解
2017/05/09 Javascript
vue中如何创建多个ueditor实例教程
2017/11/14 Javascript
关于 angularJS的一些用法
2017/11/29 Javascript
在node中使用jwt签发与验证token的方法
2019/04/03 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
WebPack工具运行原理及入门教程
2020/12/02 Javascript
Vue中computed和watch有哪些区别
2020/12/19 Vue.js
[02:55]含熏伴清风,风行者至宝、屠夫身心及典藏宝瓶二展示
2020/09/08 DOTA
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
Python中线程编程之threading模块的使用详解
2015/06/23 Python
Pycharm学习教程(5) Python快捷键相关设置
2017/05/03 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
浅析Python 中几种字符串格式化方法及其比较
2019/07/02 Python
关于Python形参打包与解包小技巧分享
2019/08/24 Python
python 使用cx-freeze打包程序的实现
2020/03/14 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
使用HTML5拍照示例代码
2013/08/06 HTML / CSS
AmazeUI 加载进度条的实现示例
2020/08/20 HTML / CSS
学校卫生检查制度
2014/02/03 职场文书
数控专业毕业生求职信
2014/06/12 职场文书
2014年部门工作总结
2014/11/12 职场文书
西安导游词
2015/02/12 职场文书
SQL基础的查询语句
2021/11/11 MySQL
Python可视化神器pyecharts之绘制箱形图
2022/07/07 Python