This is a known issue identified here: https://code.google.com/p/chromium/issues/detail?id=157218
In hardware accelerated Webkit, animated layers receive ads on a different rendering surface during animation, and then drop at one point after the animation finishes.
It turns out there is a simple solution. Ask the container element to โpushโ to the same rendering level as the hardware accelerated child element, adding light animation to it:
.tricky { width: 200px; height: 200px; border-radius: 50%; border: none; background: #2373bd; display: block; overflow: hidden; -webkit-transform:scale(1.0); } .tricky_image { width: 200px; height: 200px; -webkit-transition: all .6s ease; opacity: 0.7; } .tricky:hover { -webkit-transform:scale(1.0); } .tricky:hover .tricky_image { opacity: 1; -webkit-transform:scale(1.2); }
See: http://jsfiddle.net/yaLupdzo/3/
Note that I also added a simple animation to the default state of the parent container, so this same problem does not occur when you hover over it.
source share