horizontal - gradient css
CSS3 Transparencia+Gradiente (6)
RGBA es extremadamente divertido, y también lo es -webkit-gradient
, -moz-gradient
, y uh ... progid:DXImageTransform.Microsoft.gradient
... yeah. :)
¿Hay alguna manera de combinar los dos, RGBA y gradientes, de modo que haya gradiente de transparencia alfa utilizando las especificaciones CSS actuales / más recientes?
¡Esto es algo realmente genial! Necesitaba más o menos lo mismo, pero con degradado horizontal de blanco a transparente. ¡Y está funcionando bien! Aquí está mi código:
.gradient{
/* webkit example */
background-image: -webkit-gradient(
linear, right top, left top, from(rgba(255, 255, 255, 1.0)),
to(rgba(255, 255, 255, 0))
);
/* mozilla example - FF3.6+ */
background-image: -moz-linear-gradient(
right center,
rgba(255, 255, 255, 1.0) 20%, rgba(255, 255, 255, 0) 95%
);
/* IE 5.5 - 7 */
filter: progid:DXImageTransform.Microsoft.gradient(
gradientType=1, startColor=0, endColorStr=#FFFFFF
);
/* IE8 uses -ms-filter for whatever reason... */
-ms-filter: progid:DXImageTransform.Microsoft.gradient(
gradientType=1, startColor=0, endColoStr=#FFFFFF
);
}
Acabo de encontrar este ejemplo más reciente. Para simplificar y usar los ejemplos más recientes, otorgue a css una clase selectora de ''grad'', (he incluido compatibilidad con versiones anteriores)
.grad {
background-color: #F07575; /* fallback color if gradients are not supported */
background-image: -webkit-linear-gradient(top left, red, rgba(255,0,0,0));/* For Chrome 25 and Safari 6, iOS 6.1, Android 4.3 */
background-image: -moz-linear-gradient(top left, red, rgba(255,0,0,0));/* For Firefox (3.6 to 15) */
background-image: -o-linear-gradient(top left, red, rgba(255,0,0,0));/* For old Opera (11.1 to 12.0) */
background-image: linear-gradient(to bottom right, red, rgba(255,0,0,0)); /* Standard syntax; must be last */
}
de https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient
Aquí está mi código:
background: #e8e3e3; /* Old browsers */
background: -moz-linear-gradient(top, rgba(232, 227, 227, 0.95) 0%, rgba(246, 242, 242, 0.95) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(232, 227, 227, 0.95)), color-stop(100%,rgba(246, 242, 242, 0.95))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(232, 227, 227, 0.95) 0%,rgba(246, 242, 242, 0.95) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(232, 227, 227, 0.95) 0%,rgba(246, 242, 242, 0.95) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(232, 227, 227, 0.95) 0%,rgba(246, 242, 242, 0.95) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(232, 227, 227, 0.95) 0%,rgba(246, 242, 242, 0.95) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=''rgba(232, 227, 227, 0.95)'', endColorstr=''rgba(246, 242, 242, 0.95)'',GradientType=0 ); /* IE6-9 */
Sí. Puede usar rgba en las declaraciones de gradiente de webkit y moz:
/* webkit example */
background-image: -webkit-gradient(
linear, left top, left bottom, from(rgba(50,50,50,0.8)),
to(rgba(80,80,80,0.2)), color-stop(.5,#333333)
);
( src )
/* mozilla example - FF3.6+ */
background-image: -moz-linear-gradient(
rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 95%
);
( src )
Aparentemente, incluso puedes hacer esto en IE, usando una sintaxis extraña de "hexágono extendido". El primer par (en el ejemplo 55) se refiere al nivel de opacidad:
/* approximately a 33% opacity on blue */
filter: progid:DXImageTransform.Microsoft.gradient(
startColorstr=#550000FF, endColorstr=#550000FF
);
/* IE8 uses -ms-filter for whatever reason... */
-ms-filter: progid:DXImageTransform.Microsoft.gradient(
startColorstr=#550000FF, endColorstr=#550000FF
);
( src )
La nueva sintaxis ha sido soportada por un tiempo por todos los navegadores modernos (a partir de Chrome 26, Opera 12.1, IE 10 y Firefox 16): http://caniuse.com/#feat=css-gradients
background: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
Esto hace que un degradado, comenzando desde negro sólido en la parte superior, sea completamente transparente en la parte inferior.
#grad
{
background: -webkit-linear-gradient(left,rgba(255,0,0,0),rgba(255,0,0,1)); /*Safari 5.1-6*/
background: -o-linear-gradient(right,rgba(255,0,0,0),rgba(255,0,0,1)); /*Opera 11.1-12*/
background: -moz-linear-gradient(right,rgba(255,0,0,0),rgba(255,0,0,1)); /*Fx 3.6-15*/
background: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1)); /*Standard*/
}
Encontré esto en w3schools y satisfizo mis necesidades mientras buscaba gradiente y transparencia. Estoy proporcionando el enlace para referirse a w3schools. Espero que esto ayude si alguien está buscando gradiente y transparencia.
http://www.w3schools.com/css/css3_gradients.asp
También lo intenté en w3schools para cambiar la opacidad pegando el enlace para que lo compruebe
http://www.w3schools.com/css/tryit.asp?filename=trycss3_gradient-linear_trans
Espero eso ayude.