You cannot switch between two background images since the browser does not know what you want to interpolate. As you have discovered, you can go to the starting position. If you want the image to fade on hover, I think the best way to do this with CSS transitions is to place the image on the containing element and then animate the background color to transparent by the link itself:
span { background: url(button.png) no-repeat 0 0; } a { width: 32px; height: 32px; text-align: left; background: rgb(255,255,255); -webkit-transition: background 300ms ease-in 200ms; -moz-transition: background 300ms ease-in 200ms; -o-transition: background 300ms ease-in 200ms; transition: background 300ms ease-in 200ms; } a:hover { background: rgba(255,255,255,0); }
robertc Jun 26 '10 at 19:07 2010-06-26 19:07
source share