This one remembers the last direction you scrolled into, which you can use to build “hidey bars”: when scrolling down (or having scrolled down), the hidey bar hides itself. When then scrolling back up, the hidey bar reveals itself.
This one remembers the last direction you scrolled into, which you can use to build “hidey bars”: when scrolling down (or having scrolled down), the hidey bar hides itself. When then scrolling back up, the hidey bar reveals itself.
To help with that, I created this VT Feature Explorer (powered by View Transitions)
web.dev/blog/same-do...
To help with that, I created this VT Feature Explorer (powered by View Transitions)
web.dev/blog/same-do...
Here's the Messages app for example. As you resize the app, the text bubbles resize, and thus the scroll offset needs to change, and thus the whole thing jumps at an interval.
Here's the Messages app for example. As you resize the app, the text bubbles resize, and thus the scroll offset needs to change, and thus the whole thing jumps at an interval.
Apps that are built for iPadOS are more responsive, as their resizing is either throttled or debounced.
Attached is a recording of Chrome which uses the latter. Safari does the same.
Apps that are built for iPadOS are more responsive, as their resizing is either throttled or debounced.
Attached is a recording of Chrome which uses the latter. Safari does the same.
To prevent constant layout trashing, you are stretching the texture during a resize.
You can tell because video in the apps keep playing.
To prevent constant layout trashing, you are stretching the texture during a resize.
You can tell because video in the apps keep playing.
The feature is ready for testing in Chrome Canary.
The feature is ready for testing in Chrome Canary.
Take this demo in which the paragraphs animate along with the card (but the avatar/name do not): codepen.io/web-dot-dev/...
Take this demo in which the paragraphs animate along with the card (but the avatar/name do not): codepen.io/web-dot-dev/...
This is achieved by setting `view-transition-group: contain` on the scroller. The card that gets added/removed is excluded from this, because that one doesn’t need to be clipped.
This is achieved by setting `view-transition-group: contain` on the scroller. The card that gets added/removed is excluded from this, because that one doesn’t need to be clipped.