<!DOCTYPE html> <title> Transform animation generates a containing block for fixed-pos descendants even if the animation value is 'transform:none' </title> <style> #parent { visibility: hidden; animation: anim 100s step-end; } #fixed { position: fixed; background-color: green; height: 100px; width: 100px; } #scroll { overflow-y: scroll; overflow-x: hidden; height: 80px; width: 100px; } @keyframes anim { 0% { transform: none; } 100% { transform: translateX(0px); } } </style> <div id="scroll"> <div id="parent"> <div id="fixed"></div> </div> </div>