[csswg-drafts] [css-scroll-snap-1] Snapping on both axes allows re-snap after layout to choose inconsistent snap targets (#4651)

yi-gu has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-scroll-snap-1] Snapping on both axes allows re-snap after layout to choose inconsistent snap targets ==
According to the [spec](https://drafts.csswg.org/css-scroll-snap-1/#re-snap):

> If the scroll container was snapped before the content change and that same snap position still exists (e.g. its associated element was not deleted), the scroll container must be re-snapped to that same snap position after the content change.

The issue is that if there are multiple snap areas aligned on the same axis, then any of those snap areas can be the "associated element" for the same snap position. Therefore the re-snapping after layout could return any one of the snap areas.

Different associated elements for the same snap position should be clarified by the spec.

> Note: re-snapping after layout is currently only available on Chrome M80 and it's behind the flag chrome://flags/#enable-experimental-web-platform-features.

Example:
1. On mobile, go to https://alsan1998.github.io/grid_cats
2. Scroll to snap to the white cat whose coordinate is (1,1).
3. Rotate the phone. Re-snapping works well.
4. Rotate it back. Scroll snap to the cat (1,2) below.
5. Rotate the phone. The scroller may be snapped to an area that wasn't the one in the center of the screen. e.g. re-snapped to (1,1) rather than (1, 2). Repeat steps 2-5 if not see.




Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/4651 using your GitHub account

Received on Monday, 6 January 2020 19:49:59 UTC