zoukankan      html  css  js  c++  java
  • DOM元素尺寸和位置(clientwidth ,scrollwidth , offsetwidth.......)

    [1] slientWidth 和 sclientHeight

    slientWidth:获取的是可视宽度   

    slientHeight:获取的是可视高度   

    <html>

      <head>

        <style>

          .div1{

            50px;

            height:50px;

            overflow:scroll;    //设置滚动条

          }

        </style>

      </head>

      <body>

        <div id="div" class="div1">测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试</div>

      </body>

    </html>

    【1】slientWidth:34px ; slientHeight: 34px 因为client他的宽度和高度都没有包括滚动条,所以会减去滚动条的宽高度;

    【2】当div内的内容溢出(内容量超过div大小)的时候,client获取的仍然是34px; 因为他只是获取到可视内容的高度

    //----------------------------------------------------------------------------------------------------------------------------------------------

    [2]scrollWidth 和scrollHight

    scrollWidth:获取的是实际宽度

    scrollHight:获取的是实际的高度

    <html>

      <head>

        <style>

          .div1{

            50px;

            height:50px;

            overflow:scroll;    //设置滚动条

          }

        </style>

      </head>

      <body>

        <div id="div" class="div1">测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试</div>

      </body>

    </html>

    【1】scrollWidth:34px ; scrollHeight: 34px 因为scroll他的宽度和高度都没有包括滚动条,所以会减去滚动条的宽高度;【和slient相同】

    【2】当div内的内容溢出(内容量超过div大小)的时候,scroll获取的是>34px; 因为他会获取到内容的实际高度

    //----------------------------------------------------------------------------------------------------------------------------------------------

    [3]scrollTop 和scrollLeft

    scrollTop:获取到滚动条当前的高度

    scrollLeft:获取到滚动条当前距离最左边的距离

    <html>

      <head>

        <style>

          .div1{

            50px;

            height:50px;

            overflow:scroll;    //设置滚动条

          }

        </style>

      </head>

      <body>

        <div id="div" class="div1">测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试</div>

      </body>

    </html>

    【1】当内容超出div大小的时候,就会出现滚动条,而这个滚动条的高度就取决滚动条最顶端的当前位置的距离

    //------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    [4]offsetWidth 和offsetHeight

    offsetWidth:获取到可视宽度

    offsetHeight:获取到可视高度

    <html>

      <head>

        <style>

          .div1{

            50px;

            height:50px;

            overflow:scroll;    //设置滚动条

          }

        </style>

      </head>

      <body>

        <div id="div" class="div1">测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试</div>

      </body>

    </html>

    【1】offsetWidth:50px ; offsetHeight: 50px offset的宽度和高度都是包含滚动条的高度和宽度的【和client,scroll 不同】

    【2】当内容溢出的时候offset获取到的还是50px ,因为他获取的是可视高度【和client相同】

    //------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    [3]offsetTop 和offsetLeft

    offsetTop:获取到的是自身与参照对象的高度距离

    offsetLeft:获取到的是自身与参照对象的左距离

    <html>

      <head>

        <style>

          .div1{

            100px;

            height:100px;

            position:relative;
          }

          .div2{

            50px;

            height:50px;

            position:absolute;      //绝对定位

            top:20px;

            left:30px;

        }

        </style>

        <script>

          var odiv=document.getElementById('div1');

          var odiv1=document.getElementById('div2');

          alert(div1.offsetLeft);    //30

          alert(div1.offsetTop);    //20

        </script>

      </head>

      <body>

        <div id="div" class="div1">

          <div id="div1" class="div2"></div>
        </div>

      </body>

    </html>

    【1】div是div1的父元素,所以div1是div 的参照对象

    offsetTop:20px offLeft:30px

    //------------------------------------------------------------------------------------------------------------

    offsetParent 可以得出offset的父元素

  • 相关阅读:
    超详细:idea中同一项目同时使用Git与SVN,切换版本控制
    MailKit在.NetCore5下发送邮件 An error occurred while attempting to establish an SSL or TLS connection
    ClickHouse学习系列之七【系统命令介绍】
    ClickHouse学习系列之六【访问权限和账户管理】
    ClickHouse学习系列之五【系统库system说明】
    ClickHouse学习系列之四【副本&分片部署说明】
    MongoDB4.2 分片扫盲说明
    MongoDB4.2 副本集扫盲说明
    【工程应用一】 多目标多角度的快速模板匹配算法(基于NCC,效果无限接近Halcon中........)
    【工程应用四】 基于形状的多目标多角度的高速模板匹配算法进一步研究。
  • 原文地址:https://www.cnblogs.com/Mesiky/p/5685578.html
Copyright © 2011-2022 走看看