¿Es posible establecer una transparencia o un nivel alfa en los colores de relleno SVG?
Intenté agregar dos valores a la etiqueta de relleno (cambiándola de fill="#044B94"
a fill="#044B9466"
), pero esto no funciona.
¿Es posible establecer una transparencia o un nivel alfa en los colores de relleno SVG?
Intenté agregar dos valores a la etiqueta de relleno (cambiándola de fill="#044B94"
a fill="#044B9466"
), pero esto no funciona.
Respuestas:
Utiliza un atributo adicional; fill-opacity
: Este atributo toma un número decimal entre 0.0 y 1.0, inclusive; donde 0.0 es completamente transparente.
Por ejemplo:
<rect ... fill="#044B94" fill-opacity="0.4"/>
Además tienes lo siguiente:
stroke-opacity
atributo para el trazoopacity
para todo el objetofill_opacity
, pero en SVG y CSS, es fill-opacity
.
Como una solución aún no completamente estandarizada (aunque en alineación con la sintaxis de color en CSS3) puede usar, por ejemplo fill="rgba(124,240,10,0.5)"
. Funciona bien en Firefox, Opera, Chrome.
rgba
a rgb
y automáticamente añade el fill-opacity
atributo a ella. No estoy seguro si así es como funciona también en SVG normales, pero así fue como funcionó allí. De cualquier manera, gracias.
fill="#044B9466"
Este es un color RGBA en notación hexadecimal dentro del SVG, definido con valores hexadecimales. Esto es válido, pero no todos los programas pueden mostrarlo correctamente ...
Puede encontrar el soporte del navegador para esta sintaxis aquí: https://caniuse.com/#feat=css-rrggbbaa
A partir de agosto de 2017: los colores de relleno de RGBA se mostrarán correctamente en Mozilla Firefox (54), Apple Safari (10.1) y la "Vista rápida" de Mac OS X Finder. Sin embargo, Google Chrome no admitió esta sintaxis hasta la versión 62 (anteriormente se admitía desde la versión 54 con el indicador de Características de la plataforma experimental habilitado).
Para hacer un relleno completamente transparente, fill="transparent"
parece funcionar en los navegadores modernos. Pero no funcionó en Microsoft Word (para Mac), tuve que usar fill-opacity="0"
.
fill="none"
funciona, pero fill="transparent"
no lo hace.
Use el atributo fill-opacity
en su elemento de SVG.
El valor predeterminado es 1, el mínimo es 0, en el paso use valores decimales EX: 0.5 = 50% de alfa. Nota: Es necesario definir el fill
color para aplicar fill-opacity
.
Mira mi ejemplo .
fill="none"
conpointer-events="visible"
.