Filtros SVG: cómo aplicarlos a elementos HTML
Puede usar CSS3 para agregar desenfoque, sombra, brillo o contraste a un elemento. En general, hay diez filtros disponibles. El formato SVG también conoce los efectos de filtro. Parcialmente, estas opciones se superponen, por ejemplo, cuando se trata de desenfoque. Sin embargo, el formato SVG conoce varios filtros adicionales que CSS3 por sí solo no puede crear. Con poco esfuerzo, puede agregar cualquier filtro SVG que desee a un elemento HTML.
Estos filtros SVG existen
Mientras que CSS3 tiene un total de diez filtros diferentes, el formato SVG ofrece 19 de ellos. Por ejemplo, está «
Imagen original y el filtro «
Puede usar el filtro «
Imagen con filtro de iluminación
Hay varios otros filtros, algunos de los cuales son bastante poco espectaculares, «
Creación y aplicación de filtros SVG
Si desea aplicar filtros SVG a cualquier elemento HTML, todo lo que necesita hacer es configurar el filtro a través de SVG. Esto debe hacerse dentro de la sección «
<svg> <defs> <filter id="blurryexample"> <feConvolveMatrix order="20, 1" kernelMatrix="1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1" /> </filter> </defs> </svg>
En el ejemplo, se establece el filtro «
Imagen con desenfoque de movimiento
El filtro necesita una ID para ser aplicable a otros elementos dentro del documento HTML. Luego, debe transferir la ID del filtro SVG al atributo «filter()» de CSS3.
img { filter: url(#motionblur); }
En el ejemplo, el filtro se aplica a todos los elementos ««. Debe tener en cuenta el hecho de que el atributo «filtro» solo funciona con un prefijo de proveedor adecuado en algunos navegadores. Si bien los navegadores modernos como Chrome y Firefox admiten la opción de aplicar filtros SVG a cualquier elemento, esto no funciona en Internet Explorer y el nuevo navegador Edge de Microsoft (todavía).
Combinar filtros y aplicarlos a los textos
Por supuesto, también puedes combinar filtros. Para hacerlo, simplemente configure múltiples filtros dentro de un elemento «
Imagen con desenfoque de movimiento y cambios de tono
<svg> <defs> <filter id="motionblur_huevalue"> <feConvolveMatrix order="20, 1" kernelMatrix="1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1" /> <feColorMatrix type="hueRotate" values="-90" /> </filter> </defs> </svg>
En el ejemplo, se combinan los filtros «
Texto con desenfoque de movimiento
Como se mencionó al principio, los filtros no solo funcionan para imágenes, sino para todos los elementos HTML. Esto le permite crear efectos de texto interesantes. Cuando se aplica a un encabezado, por ejemplo, podría obtener un efecto de desenfoque de movimiento.
Ejemplos en Codepen
- Filtro SVG: Desenfoque de movimiento
- Filtro SVG: desenfoque de movimiento y rotación de tono
- Filtro SVG: Iluminación
(dpe)
#Filtros #SVG #cómo #aplicarlos #elementos #HTML