Open Bug 1488810 Opened 6 years ago Updated 2 years ago

position:sticky - Inconsistent ancestor scroller chosen for overflow:hidden when tables are involved

Categories

(Core :: Layout: Tables, defect)

63 Branch
Unspecified
All
defect

Tracking

()

Tracking Status
firefox62 --- affected
firefox63 --- affected
firefox64 --- affected

People

(Reporter: smcgruer, Unassigned)

References

(Depends on 1 open bug)

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36 Steps to reproduce: Reference Chrome bug: http://crbug.com/879428 Firefox has inconsistent behavior for choosing which ancestor to stick to when overflow:hidden is involved. For the simple case, Firefox aligns with both Chrome and Safari in always choosing the overflow:hidden ancestor - observe http://output.jsbin.com/yaxovep across all three browsers. However, if the overflow:hidden ancestor is a table-cell, Firefox ignores it and chooses the viewport (or next ancestor scroller) as the ancestor to attach the sticky to. See the left-hand column in https://codepen.io/AlexRad/pen/XMQpvq. This behavior was observed on Firefox Nightly, but I believe it applies to stable as well.
Mozilla/5.0 (X11; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0 (20180910100056) I've tested this report on Windows 10 x64 and Ubuntu 18.04 x64 using the latest Nightly and Fx release build. I was able to reproduce the mentioned behavior using the provided test pages. When scrolling table content I would expect the green box in the first column not to stick. In competitor browser, this is handled properly.
Status: UNCONFIRMED → NEW
Component: Untriaged → Layout: Positioned
Ever confirmed: true
OS: Unspecified → All
Product: Firefox → Core
This might just be a version of bug 221154, which indicates that 'overflow' on table cells has some known issues.
Component: Layout: Positioned → Layout: Tables
Depends on: 221154
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.