2010-12-19 12 views
26

WebKit ha introducido la capacidad de crear degradados de CSS. Por ejemplo, con el siguiente código:¿Se pueden crear degradados que se desvanezcan en opacidad con CSS o JavaScript?

-webkit-gradient(linear, left top, left bottom, from(#fff), to(#000)); 

Sin embargo, ¿es posible tener un degradado de opacidad con CSS? Quiero que el degradado sea de un solo color en un lado y difuminado a cero en el otro.

La compatibilidad entre navegadores no es importante; Solo necesito que funcione en Google Chrome.

¿Hay alguna forma de hacerlo con CSS? Si no, ¿se puede hacer algo similar usando JavaScript (no jQuery)?

Gracias por su ayuda.

Respuesta

14

para el colores, el uso RGBA (x, y, z, o) donde o es la opacidad

debería funcionar

por ejemplo,

background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 1)), to(rgba(0, 0, 0, 0))); 

Editar: Para el valor final (opacidad) 1 es opaca & 0 es transparente

+1

Probablemente querías decir (255, 255, 255, 1) para el primer valor –

+0

Sí, solucionado que el código – Jasper

+1

no funciona, parece que faltan comas y corchetes –

2

no probado, pero esto debería funcionar (en FF esto funciona (con una sintaxis diferente) - no estoy seguro de si Safari/WebKit sabe RGBA):

-webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,1)), to(rgba(0,0,0,0))); 
+0

Pude haber entendido mal algo, pero ¿por qué esperaría que una propiedad con el prefijo '-webkit' del vendedor funcionara en Firefox? ('-webkit' se aplica a Chrome y Safari, y uno o dos más;' -moz' es para Firefox; '-o' es Opera;' -ms' es, aparentemente, IE ...) –

+0

gracias por la pista , he editado eso ... me olvidé de escribir un texto (eso es lo que sucede si bebes alcohol mientras estás en stackoverflow el domingo por la noche -.- ') – oezi

15

Sí, rgba(red, green, blue, alpha) es lo que debes usar http://www.w3.org/TR/css3-color/#rgba-color, ejemplo (Pruébelo en):

/* Webkit */ 
background: -webkit-gradient(
    linear, 
    left bottom, 
    left top, 
    color-stop(1, rgba(0,0,0,0.0)), /* Top */ 
    color-stop(0, rgba(0,0,0,1.0)) /* Bottom */ 
); 

/* Gecko */ 
background: -moz-linear-gradient(
    center bottom, 
    rgba(0,0,0,1.0) 0%, /* Bottom */ 
    rgba(0,0,0,0.0) 100% /* Top */ 
); 
+0

¡Gracias por el hermoso violín! – KajMagnus

+0

Hola, ¿tienes una solución que también funcione en IE? – Parham

+0

Cree un degradado svg y base64 codifíquelo 'background-image: url ('data: image/svg + xml; base64, PD94bWwgdmVyPC9saW5l ... 3N2Zz4g');' – antonj

Cuestiones relacionadas