All users were logged out of Bugzilla on October 13th, 2018

clientLeft/clientTop return 0 on window.document.documentElement with actual border

UNCONFIRMED
Unassigned

Status

()

UNCONFIRMED
3 years ago
2 years ago

People

(Reporter: bruno, Unassigned)

Tracking

47 Branch
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: btpp-followup-2016-05-27)

(Reporter)

Description

3 years ago
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.59.10 (KHTML, like Gecko) Version/5.1.9 Safari/534.59.10

Steps to reproduce:

Measure window.document.documentElement.clientLeft using:

html {
  border: 10px solid red;
}

Repro at: https://jsfiddle.net/xwuc0g6q/


Actual results:

both `clientLeft` and `clientTop` return 0


Expected results:

Per spec, `clientLeft` and `clientTop` should both report the computed with of `border-left-width` and `border-top-height`

Updated

3 years ago
Blocks: 111207
Component: Untriaged → DOM
Product: Firefox → Core
Boris, WDYT?
Flags: needinfo?(bzbarsky)
Whiteboard: btpp-followup-2016-05-06
I think there's a spec issue here.  Filed https://www.w3.org/Bugs/Public/show_bug.cgi?id=29603

If the spec stays as-is I guess we can align with it, but the resulting behavior is pretty daft.
Flags: needinfo?(bzbarsky)
(Reporter)

Comment 3

3 years ago
(In reply to Boris Zbarsky [:bz] from comment #2)
> I think there's a spec issue here.  Filed
> https://www.w3.org/Bugs/Public/show_bug.cgi?id=29603
>

Not sure I follow. It's the same model as CSS top|left conventions using *border-box*. Returning 0 makes it inconsistent with every other elements.

Also I forgot the reference. The bug was highlighted on this jQuery issue:
https://github.com/jquery/jquery/issues/3080
> It's the same model as CSS top|left conventions using *border-box*

That's not the issue. The issue is that there is literally no relationship in terms of size between the thing that has the border in this case and the thing whose width/height clientWidth/Height return.  They can be totally different sizes and at totally different positions, with either one being larger or smaller, depending on the exact style rules.

Maybe that's OK, but seems pretty weird to me if the offset* properties are supposed to be related to each other in any way.
No traffic on the spec bug yet.
Whiteboard: btpp-followup-2016-05-06 → btpp-followup-2016-05-27
You need to log in before you can comment on or make changes to this bug.