This is an update to an old pen: https://codepen.io/the_ruther4d/details/aEGAJ
This version uses javascript to load the image, so that we can wait to start our transition after we know the image is ready. It uses the Intersection Observer API. There's a polyfill included for browsers without support.
A Pen by Rosh Jutherford on CodePen.