alt alt - 5 months ago 11
CSS Question

Use CSS3 transitions with gradient backgrounds

I'm trying to transition on hover with css over a thumbnail so that on hover, the background gradient fades in. The transition isn't working, but if I simply change it to an rgba() value, it works fine. Are gradients not supported? I tried using an image too, it won't transition the image either.

I know it's possible, as in another post someone did it, but I can't figure out how exactly. Any help> Here's some CSS to work with:

#container div a {
-webkit-transition: background 0.2s linear;
-moz-transition: background 0.2s linear;
-o-transition: background 0.2s linear;
transition: background 0.2s linear;
position:absolute;
width:200px;
height:150px;border: 1px #000 solid;
margin:30px;z-index:2
}
#container div a:hover {
background:-webkit-gradient(radial, 100 75, 100, 100 75, 0, from(rgba(0,0,0,.7)), to(rgba(0,0,0,.4)))
}

Answer

Gradients don't support transitions yet (although the spec says they should).

If you want a fade-in effect with a background gradient,

you have to set an opacity on a container element and 'transition` the opacity.

(and I'd like to see the other post where you say it was done.)

Update: IE10+ now supports gradient transitions

Comments