offsetLeft和style.left的區別

1. offsetLeft總的來說是獲取當前元素距父元素左側的值 ,具體分兩種情況:

    • 如果當前元素仍在普通流中(即position值爲static或者relative),offsetLeft獲取的是當前元素距流中父元素左側的值,包括父元素的padding-left、margin-left、border-left,注:IE下有誤差;
    • 如果當前元素已從普通流中刪除,使用了絕對定位absolute或固定定位fixed,offsetLeft獲取的是當前元素距已定位的父元素左側的值,即left+當前元素的margin-left。
2. style.left獲取或設置當前元素相對於已定位的父元素左側的距離,僅僅是內聯樣式中的left值;但當元素的position爲relative時,style.left指的是相對於該元素在流中原有位置左上角的左邊距離。

3. offsetLeft和style.left的區別

    • style.left返回值爲字符串,如"21px",offsetLeft返回值爲數值,如28;
    • style.left可獲取也可設置,offsetLeft只可讀;
    • style.left需事先在內聯樣式中定義,否則在js中獲取到的值爲空。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章