offsetLeft 与 left的区别

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        #demo {
            width: 100px;
            height: 100px;
            /*position: absolute;*/
            background-color: pink;
        }

    </style>
</head>
<body>
<div id="demo" style="left:100px"></div>
</body>
</html>
<script>
    var demo = document.getElementById("demo");
    console.log(demo.offsetLeft);   //打印出来的是0
    console.log(demo.style.left);   //打印出来的是100px 

</script>

  

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        #father {
            width: 200px;
            height: 200px;
            margin: 100px;/*不是到margin左侧的距离*/
            padding: 50px;
            border: 10px solid blue;
            position: absolute;
            background-color: pink;
        }

        #son {
            width: 50px;
            height: 50px;
            background-color: red;
        }
    </style>
</head>
<body>
<div id="father">
    <div id="son"></div>
</div>
</body>
</html>
<script>
    var son = document.getElementById("son");
    console.log(son.offsetLeft); //打印出来是 50px;
</script>

  

时间: 2024-10-29 19:07:15

offsetLeft 与 left的区别的相关文章

offsetLeft 与style.left区别

1.定义: offsetLeft: 获取的是当前对象左侧距离父对象左侧的值(均不包含border); style.left: 获取或设置相对于具有定位属性(position定义为relative)的父对象的左边距; 还有个clientLeft:获取的是当前对象的offsetLeft属性值和到当前窗口左边的真实值之间的距离,. 2.如果父对象的position定义为relative,子对象的position定义为absolute,那么子对象的style.left的值是相对于父对象的值,等同于off

offsetLeft,Left,clientLeft的区别

offsetLeft,Left,clientLeft的区别 假设 obj 为某个 HTML 控件 obj.offsetTop 指 obj 相对于版面或由 offsetParent 属性指定的父坐标的计算上侧位置,整型,单位像素. obj.offsetLeft 指 obj 相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置,整型,单位像素. obj.offsetWidth 指 obj 控件自身的绝对宽度,不包括因 overflow 而未显示的部分,也就是其实际占据的宽度,整型

JS中offsetLeft,Left,clientLeft的区别(纯转贴)

假设 obj 为某个 HTML 控件. obj.offsetTop 指 obj 相对于版面或由 offsetParent 属性指定的父坐标的计算上侧位置,整型,单位像素. obj.offsetLeft 指 obj 相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置,整型,单位像素. obj.offsetWidth 指 obj 控件自身的绝对宽度,不包括因 overflow 而未显示的部分,也就是其实际占据的宽度,整型,单位像素. obj.offsetHeight 指 obj

offsetLeft与style.left区别

offsetLeft 获取的是相对于父对象的左边距 left 获取或设置相对于 具有定位属性(position定义为relative)的父对象 的左边距 如果父div的position定义为relative,子div的position定义为absolute,那么子div的style.left的值是相对于父div的值,这同offsetLeft是相同的,区别在于:1. style.left 返回的是字符串,如28px,offsetLeft返回的是数值28,如果需要对取得的值进行计算,还用offset

js的杂乱笔记

(1)offsetwidth = width +padding +border;(不加margin)offsetHeight = Height +padding +border;(不加margin)(2)offsetLeft:有定位的父元素的距离,如果父元素没有定位,就往上找.offsetLeft和style.left区别 1.style.left带有px 2.offsetleft可读写.style.left不可写. 3.(3)offsetParent:检测带有定位(绝对和相对都可以)最近的父节

【06-23】js动画学习笔记01

1 <html> 2 <head> 3 <style> 4 * { 5 margin:0; 6 padding:0; 7 } 8 #div1{ 9 width:200px; 10 height:200px; 11 background:red; 12 position:relative; 13 left:-200px; 14 top:0; 15 } 16 #div1 span{ 17 width:20px; 18 height:50px; 19 background:s

javascript中无法通过div.style.left获取值的问题

一.问题总结: 样式必须直接写在元素内部才能通过div.style.left直接获取属性值(也就是必须是内联样式才行),定义在css中的样式不能通过这种方式获取. 让元素移动到200停止 setTimeout ( function () { var div = document.getElementById("div4"); //var left = parseInt(div.style.left) + 5; var left = div.offsetLeft + 5; div.sty

offset家族基本简介

Offset家族简介 offset这个单词本身是--偏移,补偿,位移的意思. js中有一套方便的获取元素尺寸的办法就是offset家族: offsetWidth和offsetHight 以及offsetLeft和offsetTop以及offsetParent 共同组成了offset家族. offsetWidth和offsetHight (检测盒子自身宽高+padding+border) 这两个属性,他们绑定在了所有的节点元素上.获取之后,只要调用这两个属性,我们就能够获取元素节点的宽和高. of

JavaScript操作DOM的那些坑

js在操作DOM中存在着许多跨浏览器方面的坑,本文花了我将近一周的时间整理,我将根据实例整理那些大大小小的"坑". DOM的工作模式是:先加载文档的静态内容.再以动态方式对它们进行刷新,动态刷新不影响文档的静态内容. PS:IE 中的所有 DOM 对象都是以 COM 对象的形式实现的,这意味着 IE 中的 DOM可能会和其他浏览器有一定的差异. Node 接口 特性/方法 类型/返回类型 说 明 nodeName String 节点的名字:根据节点的类型而定义 nodeValue St