问答详情
源自:9-20 网页尺寸offsetHeight

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

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

  1. document.documentElement.offsetHeight;

  2. document.body.offsetHeight; 

为什么呢?

提问者:俯仰2015 2016-11-20 23:33

个回答

  • 神灯君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;
    	}


  • 无穷敏
    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>


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

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