BOM ------ offset (元素偏移量)

简介: BOM ------ offset (元素偏移量)

offset: 可以动态的得到该元素的位置(偏移),大小等


获得元素距离带有定位父元素的位置

获得元素自身的大小(宽度高度)

返回的数值都不带单位

element.offsetParent: 返回作为该元素带有定位的父级元素 如果父级都没有定位则返回body

element.offsetTop: 返回元素相对带有定位父元素上方的偏移

element.offsetLeft: 返回元素相对带有定位父元素左边框的偏移

element.offsetWidth: 返回自身包括padding 边框 内容区的宽度 返回数值不带单位

element.offsetHeight: 返回自身包括padding 边框 内容区的高度 返回数值不带单位

8f454a4788c04722a702781dd80b85c4.png

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>offset</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .father{
            position: relative;
            width: 200px;
            height: 200px;
            background-color: pink;
            margin: 100px;
        }
        .son{
            width: 100px;
            height: 100px;
            background-color: lightblue;
            margin-left: 45px;
        }
        .w{
            width: 200px;
            height: 200px;
            background-color: skyblue;
            margin: 0 auto 200px;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son"></div>
    </div>
    <div class="w"></div>
    <script>
        var father = document.querySelector('.father')
        var son = document.querySelector('.son')
        // 1.offset系列 得到元素的偏移 位置 返回的不带单位的数值
        console.log(father.offsetTop);
        console.log(father.offsetLeft);
        console.log('------');
        // 它以带有定位的父亲为准 如果没有父亲或者父亲没有定位 则以body为准
        console.log(son.offsetTop);
        console.log(son.offsetLeft);
        console.log('------');
        var w = document.querySelector('.w')
        // 2.可以得到元素的大小 宽度和高度 是包含 padding + border + width
        console.log(w.offsetWidth);
        console.log(w.offsetHeight);
        //3.返回带有定位的父亲 否则返回的是body
        console.log(son.offsetParent); //返回带有定位的父亲 否则返回的是body
        console.log(son.parentNode); //返回父亲 是最近一级的 不管有没有定位
    </script>
</body>
</html>

不积跬步无以至千里 不积小流无以成江海


相关文章
页面中的位置:client、page、screen、offset、以及元素视图位置的区别和方法
页面中的位置:client、page、screen、offset、以及元素视图位置的区别和方法
|
12月前
|
C语言
偏移量(Offset)的概念
偏移量(Offset)的概念
963 0
|
数据可视化 定位技术 数据格式
Eccharts加载geojson环形GeometryCollection格式的解决方案:Cannot read property ‘length‘ of undefined
Eccharts加载geojson环形GeometryCollection格式的解决方案:Cannot read property ‘length‘ of undefined
166 0
UE 指定蓝图的返回指针为指定类型指针 Output
UE 指定蓝图的返回指针为指定类型指针 Output
62 0
|
JavaScript
BOM ------ offset 实例
BOM ------ offset 实例
|
JavaScript
BOM ------ offset 和 style的区别
BOM ------ offset 和 style的区别
|
JavaScript
BOM ------ this指向问题
BOM ------ this指向问题
|
JavaScript
DOM ------ 子节点第一个元素和最后一个元素
DOM ------ 子节点第一个元素和最后一个元素
|
NoSQL
gdb打印结构体member offset
linux的crash有个好处就是可以方便打印结构体成员变量的offset, 有时候对汇编的时候, 需要偏移, 可惜crash需要一个活体才行, 不能单纯的vmlinux, 因为它就是这么设计的 gdb天生没有这个功能, 不过python可以实现 cat offset.py import gdb class Offsets(gdb.Command): def __in
2875 0