各种常用浏览器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判断密码强度(自写代码)
Sep 06 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
May 12 Javascript
JavaScript必知必会(七)js对象继承
Jun 08 Javascript
基于jQuery实现咖啡订单管理简单应用
Feb 10 Javascript
vue-router 组件复用问题详解
Jan 22 Javascript
node.js博客项目开发手记
Mar 16 Javascript
js合并两个数组生成合并后的key:value数组
May 09 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
Aug 08 jQuery
JS实现Cookie读、写、删除操作工具类示例
Aug 28 Javascript
JavaScript实现省市区三级联动
Feb 13 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
Aug 06 Javascript
Vue中使用wangeditor富文本编辑的问题
Feb 07 Vue.js
简单的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数组中的重复值的实现代码
2011/07/17 PHP
JavaScript DOM 学习第五章 表单简介
2010/02/19 Javascript
JavaScript中的对象的extensible属性介绍
2014/12/30 Javascript
javascript框架设计之框架分类及主要功能
2015/06/23 Javascript
学习javascript文件加载优化
2016/02/19 Javascript
js点击返回跳转到指定页面实现过程
2020/08/20 Javascript
原生js实现手风琴功能(支持横纵向调用)
2017/01/13 Javascript
jQuery导航条固定定位效果实例代码
2017/05/26 jQuery
详解React之父子组件传递和其它一些要点
2018/06/25 Javascript
react-router4按需加载(踩坑填坑)
2019/01/06 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
2020/05/13 Javascript
用Nodejs实现在终端中炒股的实现
2020/10/18 NodeJs
pyqt4教程之实现windows窗口小示例分享
2014/03/07 Python
Python中的lstrip()方法使用简介
2015/05/19 Python
Python数据分析之如何利用pandas查询数据示例代码
2017/09/01 Python
TensorFlow神经网络优化策略学习
2018/03/09 Python
django1.11.1 models 数据库同步方法
2018/05/30 Python
Django如何自定义model创建数据库索引的顺序
2019/06/20 Python
Python jieba库用法及实例解析
2019/11/04 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
使用python模拟高斯分布例子
2019/12/09 Python
Python数组并集交集补集代码实例
2020/02/18 Python
全网最全python库selenium自动化使用详细教程
2021/01/12 Python
人力资源专业推荐信
2013/11/29 职场文书
爱耳日活动总结
2014/04/30 职场文书
租房协议书范例
2014/10/14 职场文书
天坛导游词
2015/02/02 职场文书
中学生综合素质自我评价
2015/03/06 职场文书
学校党员干部承诺书
2015/05/04 职场文书
南京南京观后感
2015/06/02 职场文书
2015暑假假期总结
2015/07/13 职场文书
高中体育课教学反思
2016/02/16 职场文书
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android
SpringCloud Alibaba项目实战之nacos-server服务搭建过程
2021/06/21 Java/Android
Java处理延时任务的常用几种解决方案
2022/06/01 Java/Android
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript