You would need the property set in both selectors, or there is nothing to transition from.
But I’m still not sure it’s properly supported for background-image, though I think it may be inconsistent across browsers.
This could possibly be improved upon, but here the gradient is on a pseudo element obscured behind the main element.
On hover, the main element transitions to transparent (via the “a” value of an RGBA colour) revealing the gradient background behind.
I did alter the initial background colour to emphasise the effect.
If the transition is on .button
rather than on .button:hover
then the transition occurs both when starting to hover and when stopping the hover (if you see what I mean)
@wake689 I learned this over time, especially when seeing in an example where it said to apply it to the element you want it to occur. I’ve always applied it to :hover instead, and never got good results lol.