from-scale-zero.html (1508B)
1 <!DOCTYPE html> 2 <html class="reftest-wait"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <link rel="match" href="from-scale-zero-ref.html"> 7 <title>Scoped view-transition from scale 0</title> 8 <!-- TODO update link --> 9 <link rel="help" href="https://www.w3.org/TR/css-view-transitions-2/"> 10 <!-- Accommodate pixel rounding for wide gamut--> 11 <meta name="fuzzy" content="maxDifference=0-1; totalPixels=0-10000"> 12 </head> 13 <script src="/common/reftest-wait.js"></script> 14 <script src="/dom/events/scrolling/scroll_support.js"></script> 15 <style> 16 #target { 17 background-color: blue; 18 height: 100px; 19 width: 100px; 20 position: relative; 21 view-transition-name: target; 22 z-index: 1; 23 } 24 .collapsed { 25 transform: scale(0); 26 } 27 28 ::view-transition-old(target) { 29 animation: -ua-view-transition-fade-out 1s -0.5s linear paused; 30 } 31 32 ::view-transition-new(target) { 33 animation: -ua-view-transition-fade-in 1s -0.5s linear paused; 34 } 35 </style> 36 <body> 37 <div id="target" class="collapsed"></div> 38 </body> 39 <script> 40 failIfNot(Element.prototype.startViewTransition, 41 "Missing element.startViewTransition"); 42 43 window.onload = async () => { 44 const target = document.getElementById('target'); 45 await waitForCompositorReady(); 46 const vt = target.startViewTransition(() => { 47 target.classList.toggle('collapsed'); 48 }); 49 await vt.ready; 50 requestAnimationFrame(takeScreenshot); 51 }; 52 </script> 53 </html>