各种常用浏览器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 相关文章推荐
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
Jul 21 Javascript
JS代码放在head和body中的区别分析
Dec 01 Javascript
JavaScript 作用域链解析
Nov 13 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
Dec 02 Javascript
JavaScript对象参数的引用传递
Jan 14 Javascript
详解JavaScript设计模式开发中的桥接模式使用
May 18 Javascript
使用jQuery操作DOM的方法小结
Feb 27 Javascript
JavaScript html5 canvas实现图片上画超链接
Oct 20 Javascript
vue cli升级webapck4总结
Apr 04 Javascript
JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码
Apr 21 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
Nov 08 Javascript
Vue+ElementUI table实现表格分页
Dec 14 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数据访问
2016/05/09 PHP
PHP自定义序列化接口Serializable用法分析
2017/12/29 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
JQuery中each()的使用方法说明
2010/08/19 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
推荐25个超炫的jQuery网格插件
2014/11/28 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
使用Node搭建reactSSR服务端渲染架构
2018/08/30 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
Vue使用富文本编辑器Vue-Quill-Editor(含图片自定义上传服务、清除复制粘贴样式等)
2020/05/15 Javascript
javascript实现图片轮换动作方法
2020/08/07 Javascript
原生js生成图片验证码
2020/10/11 Javascript
在react-antd中弹出层form内容传递给父组件的操作
2020/10/24 Javascript
Python装饰器入门学习教程(九步学习)
2016/01/28 Python
win系统下为Python3.5安装flask-mongoengine 库
2016/12/20 Python
python 实现一次性在文件中写入多行的方法
2019/01/28 Python
使用python socket分发大文件的实现方法
2019/07/08 Python
浅谈Python小波分析库Pywavelets的一点使用心得
2019/07/09 Python
python输入错误后删除的方法
2019/10/12 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
Python并发concurrent.futures和asyncio实例
2020/05/04 Python
在python中使用pyspark读写Hive数据操作
2020/06/06 Python
python基于openpyxl生成excel文件
2020/12/23 Python
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
亿企通软件测试面试题
2012/04/10 面试题
我的教育故事演讲稿
2014/05/04 职场文书
城市创卫标语
2014/06/17 职场文书
2014年教学工作总结
2014/11/13 职场文书
教师个人学习总结
2015/02/11 职场文书
运动会通讯稿300字
2015/07/20 职场文书
Nginx 根据URL带的参数转发的实现
2021/04/01 Servers
聊一聊Redis与MySQL双写一致性如何保证
2021/06/26 Redis
Java 实现限流器处理Rest接口请求详解流程
2021/11/02 Java/Android
我家女友可不止可爱呢 公开OP主题曲无字幕动画MV
2022/04/11 日漫