- From: fantasai <fantasai.lists@inkedblade.net>
- Date: Sun, 25 Oct 2015 12:53:02 +0900
- To: "www-style@w3.org" <www-style@w3.org>, Simon Fraser <smfr@me.com>, Majid Valipour <majidvp@chromium.org>, Robert O'Callahan <robert@ocallahan.org>
Stating a new thread, because the previous discussion was quite fragmented:
https://lists.w3.org/Archives/Public/www-style/2015May/0282.html (NYC 2015)
Elements value is needed to trap scroll-snap contributions,
for cases where author decides to remove scrollability.
https://lists.w3.org/Archives/Public/www-style/2015Jun/0147.html (smfr)
Less sure about this now..
Also, nested scrollers issue -- need scrollers to trap snappoints
https://lists.w3.org/Archives/Public/www-style/2015Jun/0159.html (majid)
Separate capture from snapping
https://lists.w3.org/Archives/Public/www-style/2015Jun/0376.html (rakow)
Need some way to specify capture, maybe "elements"?
https://lists.w3.org/Archives/Public/www-style/2015Jul/0035.html (majid)
That doesn't prevent pass-through on scrollers. Need to be associated
to nearest scrollable ancestor, but only snap if 'elements' is specified.
https://lists.w3.org/Archives/Public/www-style/2015Jul/0457.html (rakow)
* Scrollability is defined by 'auto' or 'scroll' computed value
* Scrollability in an axis captures snappoints in that axis
* Do we really need snapping to pass through per axis?
* Priorities of nested snapping vs 2D snapping?
Basically the issue at hand is twofold:
1. Specifying, as rakow explained in his last message, that scroll
containers trap the snap point influences of their descendants, and
2. Allowing elements that aren't scroll containers to trap snap
points as well.
====== Issue 1 ======
1. Specifying, as rakow explained in 0035, that scroll containers
trap the snap point influences of their descendants, and
Wrt Issue #1, there were two proposals:
A. Any scrollable ancestor (has 'overflow: auto | scroll') traps
snap positions in both axes.
B. A scrollable ancestor traps snap positions only in the scrollable
axes, e.g. if it only has 'overflow-x: scroll', then it does not
trap snap positions in the y-axis -- these can then be handled by
an ancestor.
We don't think there's a very strong use case for the complexity of B--
if you have nested scrollers, you're not likely to align to items within
the inner scroller, but rather to align the inner scroller itself (which
is already possible). But don't feel strongly on this point if others
think the use cases for single-axis entrapment are strong.
====== Issue 2 ======
2. Allowing elements that aren't scroll containers to trap snap
points as well.
Wrt Issue #2, the solution proposed was to bring back the 'element'
keyword on 'scroll-snap-points-x/y'. We don't really think this
functionality is the best fit for scroll-snap-points-x/y, and would
prefer to re-use the 'scroll-snap-type' property, whose purpose is
after all to say whether or not an element is handling snap positions.
We can extend this property to apply to all elements, and if needed
add a special value equivalent to 'none' on scroll containers, but
that always traps scroll snap positions.
So, to summarize, the proposal is, if we want this ability, to not
add back 'elements', but instead make 'scroll-snap-type' apply to
all elements, and use it to trap descendant snap positions. The
variations are:
A. The 'mandatory' and 'proximity' values trap snap points when
specified on non-scrollers.
B. A new 'trap' value traps snap points when specified on
non-scrollers (and acts as 'none' on scrollers).
C. The new 'trap' value *as well as* 'mandatory' and 'proximity'
traps snap points when specified on non-scrollers.
D. No change; snap position trapping is only through 'overflow'.
====== Issue 3 ======
note, there was a related thread with this point...
3. Clarify that snap positions propagate through the containing
block chain, not the box parenting chain, since abspos that
escape a scrollable ancestor should obviously not affect it.
https://lists.w3.org/Archives/Public/www-style/2015Jun/0148.html
This is just a bugfix in the spec, and imho needs no further discussion.
~fantasai and TJ
Received on Sunday, 25 October 2015 03:53:40 UTC