各种常用浏览器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 Ajax学习实例7 Ajax所有过程事件分析示例
Mar 23 Javascript
JavaScript isArray()函数判断对象类型的种种方法
Oct 11 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
Sep 03 Javascript
JavaScript操作Cookie方法实例分析
May 27 Javascript
JavaScript简单修改窗口大小的方法
Aug 03 Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
Sep 11 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
Feb 25 Javascript
浅谈jquery设置和获得checkbox选中的问题
Aug 19 Javascript
JS实现前端缓存的方法
Sep 21 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
Sep 16 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
Sep 21 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
May 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
php实现跨域提交form表单的方法【2种方法】
2016/10/17 PHP
json简单介绍
2008/06/10 Javascript
JavaScript 获取当前时间戳的代码
2010/08/05 Javascript
图片onload事件触发问题解决方法
2011/07/31 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
JavaScript实现在页面间传值的方法
2015/04/07 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
2015/10/25 Javascript
JS实现自定义简单网页软键盘效果代码
2015/11/05 Javascript
TypeOf这些知识点你了解吗
2016/02/21 Javascript
Javascript实现前端简单的路由实例
2016/09/11 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
2016/12/12 Javascript
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)
2018/03/05 Javascript
小程序实现自定义导航栏适配完美版
2019/04/02 Javascript
vue2路由方式--嵌套路由实现方法分析
2020/03/06 Javascript
javascript实现简单搜索功能
2020/03/26 Javascript
手把手带你搭建一个node cli的方法示例
2020/08/07 Javascript
[44:37]完美世界DOTA2联赛PWL S3 Forest vs access 第一场 12.11
2020/12/13 DOTA
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
Python与人工神经网络:使用神经网络识别手写图像介绍
2017/12/19 Python
Python shutil模块用法实例分析
2019/10/02 Python
jenkins+python自动化测试持续集成教程
2020/05/12 Python
使用opencv中匹配点对的坐标提取方式
2020/06/04 Python
如何写python的配置文件
2020/06/07 Python
Keras 使用 Lambda层详解
2020/06/10 Python
使用Python爬虫爬取小红书完完整整的全过程
2021/01/19 Python
css3教程之倾斜页面
2014/01/27 HTML / CSS
HTML5 Canvas概述
2009/08/26 HTML / CSS
New Balance天猫官方旗舰店:始于1906年,百年慢跑品牌
2017/11/15 全球购物
检察官就职演讲稿
2014/01/13 职场文书
销售顾问岗位职责
2014/02/25 职场文书
英文邀请函
2015/02/02 职场文书
感恩教育观后感
2015/06/17 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
了解MySQL查询语句执行过程(5大组件)
2022/08/14 MySQL