I assume that cache is used here, you mean preload. Actual "caching" is associated with expiration of headers, etc.
It completely depends on the behavior of the browser and what it wants to do. However, my experience is that modern browsers don't bother downloading the image defined in the CSS file, unless the image is actually called up.
This is one of the reasons why some people prefer to make both the default state and the element freeze in the same image, and then use the background-position property for the change that is visible. There is a bit more overhead, but there is also no delay between the freeze and the displayed freeze state, which makes it smoother.
Matchu
source share