浏览器兼容性的两种方法得到网页内容宽度和高度的值不同?

来源:9-20 网页尺寸offsetHeight

俯仰2015

2016-11-20 23:33

两种用法得到的数值是不一样的: 

  1. document.documentElement.offsetHeight;

  2. document.body.offsetHeight; 

为什么呢?

写回答 关注

3回答

  • 神灯君3598408
    2016-11-21 16:22:43
    已采纳

    document.documentElement指的是html标签

    document.body指的是body标签

    你的两个高宽不一样,是你的margin与panding没有清零;

    你可以尝试一下。

    alert(document.body.offsetWidth);
    alert(document.documentElement.offsetWidth);
    *{
    		margin:0;
    		padding: 0;
    	}


    俯仰2015

    非常感谢!

    2016-11-29 20:21:45

    共 2 条回复 >

  • 无穷敏
    2016-11-24 13:17:58

    清零之后还是不一样,好奇怪。。。。求解

    294px;0px;
    294px;18px;

    <!DOCTYPE HTML>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <style type="text/css">
        *{padding:0 ;margin:0;}
    </style>
    </head>
    <body>
    
     <script type="text/javascript">
    document.write(document.documentElement.offsetWidth+"px;"+document.documentElement.offsetHeight+"px;<br/>")
    document.write(document.body.offsetWidth+"px;"+document.body.offsetHeight+"px;")
    </script>
    </body>
    </html>


    俯仰2015

    是的,我也是这样

    2016-11-24 20:22:28

    共 1 条回复 >

  • 神灯君3598408
    2016-11-23 15:57:14

    上面就是完整的代码,就是把margin,padding清零后,这两个数值是一样的。

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题