<!DOCTYPE html> <html class="reftest-wait"> <title> Changing keyframes to opacity frames creates a stacking context even if the animation is delay phase </title> <style> span { height: 100px; width: 100px; position: fixed; background: green; top: 50px; } #test { width: 100px; height: 100px; background: blue; } </style> <span></span> <div id="test"></div> <script> var anim = document.getElementById("test") .animate({ width: ['100px', '100px'] }, { delay: 100000, duration: 100000 }); anim.ready.then(function() { anim.effect.setKeyframes({ opacity: [0, 1] }); requestAnimationFrame(function() { document.documentElement.classList.remove("reftest-wait"); }); }); </script>