En este tutorial veremos cómo modificar el aspecto de una imagen usando la propiedad filter de CSS3 y el prefijo -webkit, que es el único que cuenta con soporte para filtros, pero seguramente se sumen en próximas ediciones Firefox y Opera, por ese motivo usaré "provisionalmente" este prefijo para que se puedan testear los ejemplos.
Los prefijos según el navegador
Código :
-webkit-filter:/* Chrome y Safari */ -moz-filter:/* Mozilla */ -ms-filter:/* Internet Explorer */ -o-filter:/* Opera */
La propiedad filter en CSS3
Esta propiedad afecta a cualquier elemento, ya sea texto, imagen o video. Dentro de filter podemos añadir uno o varios filtros que existen para esta propiedad, sin un máximo, simplemente separándolos por espacios.
Código :
-webkit-filter: [Filtro] [Filtro];
Estos son los distintos tipos de filtros que podemos usar con nuestras imágenes o con cualquier elemento de nuestra página. Vale aclarar que podemos darle todo tipo de valores intermedios, por ejemplo: 0 / 0.5 / 1.
Blur (desenfoque)
Código :
-webkit-filter: blur(0px); /* Sin desenfoque */ -webkit-filter: blur(5px); /* 5px de desenfoque */
Grayscale (escala de grises)
Código :
-webkit-filter: grayscale(0); /* Color */ -webkit-filter: grayscale(0.5); /* 50% color */ -webkit-filter: grayscale(1); /* Blanco y negro */
Sepia (sepia)
Código :
-webkit-filter: sepia(0); /* Normal */ -webkit-filter: sepia(0.5); /* 50% sepia */ -webkit-filter: sepia(1); /* Sepia */
Brightness (brillo)
Código :
-webkit-filter: brightness(0); /* Normal */ -webkit-filter: brightness(0.5); /* Imagen clara */ -webkit-filter: brightness(1); /* Blanco */
:
Contrast (contraste)
Código :
-webkit-filter: contrast(0); /* Bajo contraste (gris) */ -webkit-filter: contrast(1); /* Normal */ -webkit-filter: contrast(10); /* Alto contraste */
Hue-rotate (rotar matriz de color)
Código :
-webkit-filter: hue-rotate(0deg); /* Normal */ -webkit-filter: hue-rotate(180deg); /* Rotar la matriz 180 grados */ -webkit-filter: hue-rotate(270deg); /* Rotar la matriz 270 grados */
Invert (invertir)
Código :
-webkit-filter: invert(0); /* Normal */ -webkit-filter: invert(0.5); /* Gris */ -webkit-filter: invert(1); /* Color invertido */
Saturate (saturación)
Código :
-webkit-filter: saturate(0); /* Sin color */ -webkit-filter: saturate(1); /* Normal */ -webkit-filter: saturate(10); /* Alta saturación */
Opacity (opacidad)
Código :
-webkit-filter: opacity(0); /* Transparente */ -webkit-filter: opacity(0.5); /* 50% transparente */ -webkit-filter: opacity(1); /* Normal */
Ver los ejemplos funcionando aquí, y también un ejemplo aplicado a textos.
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por ebuzz el 25 de Agosto de 2012
Por pedro-vk el 25 de Agosto de 2012
Por dannegm el 17 de Diciembre de 2012
Explico, estoy trabajando en la siguiente página: http://ronnieclub.mx/?sec=home
Y como lo pueden ver desde chrome, tiene mucho arte en blanco y negro, pero al habla con la diseñadora (quien usa safari) me dice que no puede ver el filtro. Esto lo quise comprobar yo y en efecto, y no sólo pasa con safari sino también con firefox y opera como proponen los prefijos.
Así que esto me lleva a preguntar ¿Esta supuesta propiedad css3 es sólo una mas de esas que sólo interpreta chrome (algo muy al estilo de los filter vb de ie) o en realidad sí son propiedades css?
Por pedro-vk el 17 de Diciembre de 2012
Por Condenado a usar App el 06 de Junio de 2013
Saludos
Por arturo el 05 de Febrero de 2014
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 10+, Firefox on Android */
Por Mac el 11 de Junio de 2014
Por JOSE el 02 de Septiembre de 2015
SALUDOS Y GRACIAS POR EL TUTO