zoukankan      html  css  js  c++  java
  • javascript offset/client/scroll/的理解总结

    注意:这些内容在不同的浏览器和浏览器版本都会造成不同的情况,这一块先不进行总结.

    一.offset

     解释:

       当前标签有定位,则offset 是距离 最近有定位的父级(如找不到,则是body)的距离

       .1.offsetTop

      2.offsetLeft

       第一种:当前标签有滚动条: offsetWidth =  clientWidth + 滚动条 + 边框

                 通俗的讲: offsetWidth  =  开始设置的宽度     上面的解释分析     offsetWidth = 内容 +clientWidth + 滚动宽度(17px) +boder

                通俗的讲: offsetHeight =  开始设置的高度    上面的解释分析     offsetHeight =内容 +clientWidth + 滚动宽度(17px) +boder

      第二种:没有滚动条

                 通俗的讲: offsetWidth  =  开始设置的宽度     上面的解释分析     offsetWidth = 内容 +clientWidth  +boder

                通俗的讲: offsetHeight =  开始设置的高度    上面的解释分析     offsetHeight =内容 +clientWidth +boder

        3.offsetWidth:元素自身的宽度(内容+padding+border)

        4.offsetHeight: 元素自身的高度

        5.offsetParent:可以查找它对应的父级

        扩展知识点: 

         1/在页面忘记设置了*{ margin:0;padding:0 } 等内容,知道了我们在盒子模型中,有的标签body,ul等标签在网页中是内置了margin的,我的理解是:标签通过浏览器内置的margin是属于标签自己的,所以为啥出现offset的取值为何不那么对应的情况.

         

    二.client

        client 内容可视区 

      案例:设置div 宽100px ,高100px  padding: 10px  border:20px 不使用box-sizing;

         1.clientTop: 根据下面的例子: clientTop:10  

         2.clientLeft: 根据下面的例子: clientTop:10 

       第一种:没有滚动条:

                   clientWidth  = 内容 + padding    clientWidth:120px

                   clientHeight = 内容+ padding     clientHeight:120px

       第二种:有滚动条 : 

                 clientWidth  =  内容 + padding   注意:滚动条 滚动条宽 17   clientWidth:103px;

                 clientHeight = 内容 + padding   clientHeight:120px

         3.clientHeight::可视区的高度

         4.clientWidth:可视区的宽度

    三.scroll

        scrollHeight:返回元素的整体高度

        scrollWidth:返回元素的整体宽度

         scrollTop: 返回元素上边缘与视图之间的距离

         scrollLeft: 返回元素左边缘与视图之间的距离

  • 相关阅读:
    C++字节对齐与位域
    使用GDB调试将符号表与程序分离后的可执行文件
    在windows上编译apr库
    使用samba共享文件夹,提供给window访问
    Linux常用命令
    使用VS2015编译xlslib库
    VS资源收藏<持续更新中>
    使用Visual Studio 2017 C++17模块(module)特性
    RMAN中format的参数
    C#的Process类的一些用法
  • 原文地址:https://www.cnblogs.com/zmztya/p/14178593.html
Copyright © 2011-2022 走看看