亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

offsetLeft是如何獲取margin-left

offsetLeft是如何獲取margin-left的?為什么把left改成margin-left會每次都疊加margin-left的呢?

正在回答

1 回答

offseLeft獲取的是【當前對象】跟【具有定位屬性的上級父元素】最左邊的距離,不會獲取margin-left:

????例如:<div style='position:relative'>

????????????????????????<span style='position:absolute; top:20px; left:20px;'>我是當前對象</span>

????????????????<div>

????????在上面,span的父元素使用了相對定位,因此,span對象的offsetLeft屬性獲取的值,就是span到div最左邊的距離。

????另外,offsetLeft屬性獲取的值是只可讀數值(如20,只是個數值,可以用來計算的),而obj.style.left獲取的值是字符串(如20px),并且是可以讀寫的,這是二者之間的差別。所以在js動畫里,要用offsetLeft獲取的值來進行數學計算設置動畫,而不是用obj.style.left獲取的字符串。


對于你說的【left改成margin-left會每次都疊加margin-left】,這里的left就是obj.style.left,它在css里面對應的,是定位的左邊距離,是從對象的盒子最外邊開始計算的。而margin-left是盒子模型中的外邊距部分,你把左邊距改成外邊距,當然是外邊距增加啦


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

offsetLeft是如何獲取margin-left

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號