w3c/csswg-drafts

[cssom-view] offsetTop/Left spec seems to be pretty confused when scrolling is involved

Open

#1,832 建立於 2017年9月25日

在 GitHub 查看
 (3 留言) (0 反應) (0 負責人)HTML (545 fork)batch import
Help Wantedcssom-view-1

倉庫指標

Star
 (3,546 star)
PR 合併指標
 (平均合併 87天 7小時) (30 天內合併 24 個 PR)

描述

Simple testcase:

<div id="parent" style="overflow:scroll; height: 100px; position: relative">
  <div id="spacer" style="height: 200px"></div>
  <div id="child" style="border: 1px solid green"></div>
</div>

Load this, scroll the scrollable div all the way down, examine "child.offsetTop". It comes back as "200" in browsers. The spec at https://drafts.csswg.org/cssom-view/#dom-htmlelement-offsettop, on the other hand says:

Return the result of subtracting the y-coordinate of the top padding edge of the first CSS layout box associated with the offsetParent of the element from the y-coordinate of the top border edge of the first CSS layout box associated with the element, relative to the initial containing block origin, ignoring any transforms that apply to the element and its ancestors.

and in this case this is definitely not 200. The spec is wrong and needs to be fixed, afaict.

貢獻者指南