各种常用浏览器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 YUI 读码日记之 YAHOO.util.Dom - Part.4
Mar 22 Javascript
JQuery的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法
Mar 09 Javascript
jQuery多项选项卡的实现思路附样式及代码
Jun 03 Javascript
javascript 中__proto__和prototype详解
Nov 25 Javascript
JavaScript基础语法、dom操作树及document对象
Dec 02 Javascript
jQuery中$(function() {});问题详解
Aug 10 Javascript
基于javascript实现九九乘法表
Mar 27 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
Aug 24 Javascript
JavaScript使用面向对象实现的拖拽功能详解
Jun 12 Javascript
vue中使用rem布局代码详解
Oct 30 Javascript
解决vuex刷新数据消失问题
Nov 12 Javascript
详解vue实现坐标拾取器功能示例
Nov 18 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新手上路(十一)
2006/10/09 PHP
PHP的一个基础知识 表单提交
2011/07/04 PHP
PHP中的Memcache详解
2014/04/05 PHP
PHP自定义多进制的方法
2016/11/03 PHP
JavaScript 开发规范要求(图文并茂)
2010/06/11 Javascript
JavaScript开发规范要求(规范化代码)
2010/08/16 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
js实现日期级联效果
2014/01/23 Javascript
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
元素未显示设置width/height时IE中使用currentStyle获取为auto
2014/05/04 Javascript
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单的实现代码
2016/06/23 Javascript
AngularJS 整理一些优化的小技巧
2016/08/18 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
2017/07/05 Javascript
JavaScript函数式编程(Functional Programming)箭头函数(Arrow functions)用法分析
2019/05/22 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
2019/10/16 Javascript
JS面向对象之单选框实现
2020/01/17 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
JavaScript实现移动端弹窗后禁止滚动
2020/05/25 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
2020/10/29 Javascript
如何在 Vue 表单中处理图片
2021/01/26 Vue.js
[08:02]DOTA2牵红线 zhou神抱得美人归
2014/03/22 DOTA
在Python中调用ggplot的三种方法
2015/04/08 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
2018/02/24 Python
python 编写简单网页服务器的实例
2018/06/01 Python
Django教程笔记之中间件middleware详解
2018/08/01 Python
python组合无重复三位数的实例
2018/11/13 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
2021/02/19 Python
ECCO爱步官方旗舰店:丹麦鞋履品牌
2018/01/02 全球购物
总裁办公室主任职责
2014/01/02 职场文书
打架检讨书50字
2014/01/11 职场文书
应届电子商务毕业自荐书范文
2014/02/11 职场文书
小学五一劳动节活动总结
2015/02/09 职场文书
2016年优秀党务工作者先进事迹材料
2016/02/29 职场文书