Status: PASS | Duration: 5ms | Subtests: 1/1 | Open test on wpt.live | Open ref on wpt.live | wpt.fyi
/css/css-view-transitions/transformed-element-scroll-transform.html
<!DOCTYPE html> <html style="reftest-wait"> <head> <title>Scroll position transform should be the last one to be applied</title> <link rel="author" title="Tim Nguyen" href="https://github.com/nt1m"> <link rel="help" href="https://drafts.csswg.org/css-view-transitions-1/"> <link rel="match" href="transformed-element-scroll-transform-ref.html"> <style> :root { view-transition-name: none; } ::view-transition-group(*) { animation-duration: 10s; } #target { width: 100px; height: 100px; background: green; margin: 300px; view-transition-name: target; rotate: 90deg; } </style> </head> <body> <div id="target"></div> <div style="height: 1000px"></div> <script> function scrollBy(y) { return new Promise(resolve => { addEventListener("scroll", () => { requestAnimationFrame(() => { requestAnimationFrame(resolve); }); }, { once: true, capture: true }); document.documentElement.scrollBy({ top: y, behavior: "instant" }); }); } addEventListener("load", async () => { await scrollBy(200); const transition = document.startViewTransition(); await transition.ready; requestAnimationFrame(() => { requestAnimationFrame(() => { document.documentElement.classList.remove("reftest-wait"); }); }); }); </script> </body> </html>
/css/css-view-transitions/transformed-element-scroll-transform-ref.html
<!DOCTYPE html> <html style="reftest-wait"> <head> <style> #target { width: 100px; height: 100px; background: green; margin: 300px; } </style> </head> <body> <div id="target"></div> <div style="height: 1000px"></div> <script> function scrollBy(y) { return new Promise(resolve => { addEventListener("scroll", () => { requestAnimationFrame(() => { requestAnimationFrame(resolve); }); }, { once: true, capture: true }); document.documentElement.scrollBy({ top: y, behavior: "instant" }); }); } addEventListener("load", async () => { await scrollBy(200); document.documentElement.classList.remove("reftest-wait"); }); </script> </body> </html>