zoukankan      html  css  js  c++  java
  • window.innerHeight和document.documentElement.clientHeight区别

    今天有人问我这个问题,做了个小例子来记录一下子。

    首先这两个都是获取可视区域的高度,那他们有什么区别呢

    1.window.innerHeight属于BOM(浏览器对象模型),而document.documentElement.clientHeight则属于文档对象模型

    2.window.innerHeight获取的高度包含横向滚动条,而document.documentElement.clientHeight不包含横向滚动条

    做了一个小示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            html,body{
                margin: 0;
                padding: 0;
                height: 100%;
                width: 100%;
            }
            .box{
                height: 100%;
                width: 100%;
                background-color: red;
            }
        </style>
    </head>
    <body>
    <div class="box"></div>
    <script>
        console.log('innerHeight:'+ window.innerHeight)
        console.log('clientHeight:'+ document.documentElement.clientHeight)
    </script>
           
    </body>
    </html>

    此时运行打印结果:

    innerHeight:760
    clientHeight:760

    可以看到没有横向滚动条时两者是相等的

    现在我们将上面代码中box的宽度改为120%,使之出现横向滚动条

    再看看结果

    innerHeight:760
    clientHeight:743

    可以看到document.documentElement.clientHeight的高度少了一些,原因就是document.documentElement.clientHeight不包括横向滚动条

  • 相关阅读:
    .net破解二(修改dll)
    CLR 的执行模型(2)
    理解数据库的几种键和几个范式
    事务隔离级别如何影响锁
    c#和java中封装字段的不同
    Linux安装AUTOCONF和AUTOMAKE产生的程序的一般步骤
    html锚点使用示例
    webbrowser控件使用时的注意事项
    C#实现单实例运行
    为Exchange 2007 SCC 启用 SCR 副本-供需要的人使用!
  • 原文地址:https://www.cnblogs.com/suihang/p/11177093.html
Copyright © 2011-2022 走看看