Este é antigo, mas vale a pena lembrar você, especialmente agora que estamos usando gradientes CSS3 em todos os lugares.
O valor “transparente”, em termos de CSS, não é realmente transparente como você gostaria que fosse. É preto transparente , não branco transparente, o que significa que qualquer outra cor que desvanece para transparente será tingida com preto e não branco.
Aqui está um JS Fiddle mostrando o que quero dizer: http://jsfiddle.net/TVw3L/
Para superar isso, você precisa usar o branco transparente .
Então, em vez de:
imagem de fundo: gradiente linear (esquerda, #fff, transparente);
Você deve (se precisar) em vez disso:
imagem de fundo: gradiente linear (esquerda, #fff, rgba (255,255,255,0));