old-content-element-writing-modes.html (2615B)
1 <!DOCTYPE html> 2 <html class=reftest-wait> 3 <title>View transitions: shared element writing-modes</title> 4 <link rel="help" href="https://drafts.csswg.org/css-view-transitions-1/"> 5 <link rel="author" href="mailto:vmpstr@chromium.org"> 6 <link rel="match" href="old-content-element-writing-modes-ref.html"> 7 <script src="/common/reftest-wait.js"></script> 8 <style> 9 #hidden { 10 width: 100px; 11 height: 100px; 12 background: red; 13 position: absolute; 14 top: 0; 15 left: 0; 16 contain: paint; 17 view-transition-name: hidden; 18 } 19 .tb { writing-mode: horizontal-tb; } 20 .lr { writing-mode: vertical-lr; } 21 .rl { writing-mode: vertical-rl; } 22 .shared { 23 margin: 2px; 24 width: 100px; 25 height: 50px; 26 background: green; 27 contain: paint; 28 border: 1px solid black; 29 } 30 #target1, #target2, #target3 { 31 background: red; 32 position: absolute; 33 top: 50px; 34 left: 50px; 35 width: 100px; 36 height: 500px; 37 contain: paint; 38 } 39 #one { view-transition-name: s1; } 40 #two { view-transition-name: s2; } 41 #three { view-transition-name: s3; } 42 43 html::view-transition-group(hidden) { animation-duration: 300s; } 44 html::view-transition-image-pair(hidden) { animation: unset; opacity: 0; } 45 46 html::view-transition-group(s1), 47 html::view-transition-group(s2), 48 html::view-transition-group(s3) { 49 animation-delay: 300s; 50 animation-fill-mode: both; 51 } 52 53 html::view-transition-new(s1), 54 html::view-transition-new(s2), 55 html::view-transition-new(s3) { animation: unset; opacity: 0; } 56 57 html::view-transition-old(s1), 58 html::view-transition-old(s2), 59 html::view-transition-old(s3) { animation: unset; opacity: 1; } 60 61 /* hide the root so we show transition background to ensure we're in a transition */ 62 html::view-transition-group(root) { animation: unset; opacity: 0; } 63 html::view-transition { background: lightpink; } 64 65 </style> 66 67 <div id=hidden>Should not be visible</div> 68 <div id=target1>Should not be visible</div> 69 <div id=target2>Should not be visible</div> 70 <div id=target3>Should not be visible</div> 71 <div id=one class="shared tb">T</div> 72 <div id=two class="shared lr">T</div> 73 <div id=three class="shared rl">T</div> 74 75 <script> 76 failIfNot(document.startViewTransition, "Missing document.startViewTransition"); 77 78 async function runTest() { 79 document.startViewTransition(() => { 80 one.remove(); 81 two.remove(); 82 three.remove(); 83 hidden.style.left = "200px"; 84 target1.style.viewTransitionName = "s1"; 85 target2.style.viewTransitionName = "s2"; 86 target3.style.viewTransitionName = "s3"; 87 requestAnimationFrame(() => requestAnimationFrame(takeScreenshot)); 88 }); 89 } 90 onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); 91 </script>