scroller-child-abspos.html (1369B)
1 <!DOCTYPE html> 2 <html class=reftest-wait> 3 <title>View transitions: scroller child element</title> 4 <link rel="help" href="https://www.w3.org/TR/css-view-transitions-1/"> 5 <link rel="author" href="mailto:vmpstr@chromium.org"> 6 <link rel="match" href="scroller-child-abspos-ref.html"> 7 <meta name="fuzzy" content="maxDifference=0-5; totalPixels=0-800"> 8 <script src="/common/reftest-wait.js"></script> 9 10 <style> 11 #target { 12 view-transition-name: target; 13 width: 200px; 14 height: 200px; 15 background: yellow; 16 } 17 #scroller { 18 overflow: scroll; 19 width: 100px; 20 height: 100px; 21 background: blue; 22 isolation: isolate; 23 } 24 25 #child { 26 position: absolute; 27 width: 100px; 28 height: 100px; 29 background: green; 30 top: 200px; 31 } 32 33 html::view-transition-group(root) { animation-duration: 300s; } 34 html::view-transition-old(target) { 35 animation: unset; 36 opacity: 1; 37 } 38 html::view-transition-new(target) { 39 animation: unset; 40 opacity: 0; 41 } 42 </style> 43 44 <div id="target"> 45 <div id="scroller"> 46 <div id="child"></div> 47 </div> 48 </div> 49 50 <script> 51 failIfNot(document.startViewTransition, "Missing document.startViewTransition"); 52 53 function runTest() { 54 scroller.scrollTop = 300; 55 56 let transition = document.startViewTransition(); 57 transition.ready.then(() => requestAnimationFrame(takeScreenshot)); 58 } 59 60 onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); 61 </script>