记录关于获取宽高以及距离父元素距离的方法

记录原因,在拖动的时候经常会使用到距离父元素的距离,以及宽高等一些方法。offsetWidth,offsetHeight,offsetTop,offsetLeft等相关属性。

<!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>
    *{
        margin: 0;
        padding: 0;
        
    }
    html,body{
        width: 100%;
        height: 100%;
    }
    .box{
        width: 500px;
        height: 500px;
        border: 1px solid #e5e5e5;
        margin: 30px auto;
        position: relative;
    
    }
    .children{
        width: 400px;
        height: 400px;
        background: red;
        position: absolute;
        top: 50px;
        left: 50px;
    }
    </style>
</head>
<body>
    <div class="box" id="box">
        <div class="children" id="children"></div>
    </div>
    
</body>
<script>
    var box=document.getElementById("box")
    var children=document.getElementById("children")
    console.log('box.offsetWidth',box.offsetWidth)
    console.log('box.offsetHeight',box.offsetHeight)
    console.log('box.offsetTop',box.offsetTop)
    console.log('box.offsetLeft',box.offsetLeft)
    console.log('children.offsetWidth',children.offsetWidth)
    console.log('children.offsetHeight',children.offsetHeight)
    console.log('children.offsetTop',children.offsetTop)
    console.log('children.offsetLeft',children.offsetLeft);


</script>
</html>

关于offsetWidth和offsetHight 、 offsetTop和offsetLeft

 1,offsetWidth的实际宽度
 		 offsetWidth = width + 左右padding + 左右boder
  2,offsetHeith的实际高度
          offsetHeith = height + 上下padding + 上下boder
  3,offsetTop实际宽度
           offsetTop:当前元素 上边框 外边缘 到 最近的已定位父级(offsetParent) 上边框 内边缘的 距离。如果父级都没有定位,则分别是到body 顶部 和左边的距
   4,offsetLeft实际宽度
		 offsetLeft:当前元素 左边框 外边缘 到 最近的已定位父级(offsetParent) 左边框 内边缘的 距离。如果父级都没有定位,则分别是到body 顶部 和左边的距离

在这里插入图片描述
关于各个距离的展现形式

关于clientWidth和clientHeigh 、 clientTop和clientLeft

    1,clientWidth的实际宽度

    clientWidth = width+左右padding

    2,clientHeigh的实际高度

     clientHeigh = height + 上下padding 

    3,clientTop的实际宽度

       clientTop = boder.top(上边框的宽度)

    4,clientLeft的实际宽度

        clientLeft = boder.left(左边框的宽度)

在这里插入图片描述

关于scrollWidth和scrollHeight 、 scrollTop和scrollLeft

    1,scrollWidth实际宽度
           scrollWidth:获取指定标签内容层的真实宽度(可视区域宽度+被隐藏区域宽度)。
     2,scrollHeight的实际高度
    	 scrollHeight:获取指定标签内容层的真实高度(可视区域高度+被隐藏区域高度)
     3,scrollTop
         scrollTop :内容层顶部 到 可视区域顶部的距离。
      4,scrollLeft
		 scrollLeft:内容层左端 到 可视区域左端的距离.

附录

1,clientX、clientY
点击位置距离当前body可视区域的x,y坐标
2,pageX、pageY
对于整个页面来说,包括了被卷去的body部分的长度
3, screenX、screenY
点击位置距离当前电脑屏幕的x,y坐标
4,offsetX、offsetY
相对于带有定位的父盒子的x,y坐标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值