È possibile impostare un livello di trasparenza o alfa sui colori di riempimento SVG?
Ho provato ad aggiungere due valori al tag di riempimento (modificandolo da fill="#044B94"
a fill="#044B9466"
), ma questo non funziona.
È possibile impostare un livello di trasparenza o alfa sui colori di riempimento SVG?
Ho provato ad aggiungere due valori al tag di riempimento (modificandolo da fill="#044B94"
a fill="#044B9466"
), ma questo non funziona.
Risposte:
Si utilizza un attributo aggiuntivo; fill-opacity
: Questo attributo accetta un numero decimale compreso tra 0,0 e 1,0, incluso; dove 0.0 è completamente trasparente.
Per esempio:
<rect ... fill="#044B94" fill-opacity="0.4"/>
Inoltre hai quanto segue:
stroke-opacity
attributo per il trattoopacity
per l'intero oggettofill_opacity
, ma in SVG e CSS lo è fill-opacity
.
Come soluzione non ancora completamente standardizzata (sebbene in linea con la sintassi del colore in CSS3) puoi usare ad es fill="rgba(124,240,10,0.5)"
. Funziona bene su Firefox, Opera, Chrome.
rgba
in rgb
e ha aggiunto automaticamente l' fill-opacity
attributo ad esso. Non sono sicuro che funzioni così anche nei normali SVG, ma è così che ha funzionato lì. Ad ogni modo, grazie.
fill="#044B9466"
Questo è un colore RGBA in notazione esadecimale all'interno dell'SVG, definito con valori esadecimali. Questo è valido, ma non tutti i programmi possono visualizzarlo correttamente ...
Puoi trovare il supporto del browser per questa sintassi qui: https://caniuse.com/#feat=css-rrggbbaa
A partire da agosto 2017: i colori di riempimento RGBA verranno visualizzati correttamente su "Quick View" di Mozilla Firefox (54), Apple Safari (10.1) e Mac OS X Finder. Tuttavia, Google Chrome non supportava questa sintassi fino alla versione 62 (era precedentemente supportata dalla versione 54 con il flag Caratteristiche della piattaforma sperimentale abilitato).
Per rendere un riempimento completamente trasparente, fill="transparent"
sembra funzionare nei browser moderni. Ma non ha funzionato in Microsoft Word (per Mac), ho dovuto usare fill-opacity="0"
.
fill="none"
funziona, ma fill="transparent"
non lo fa.
Usa l'attributo fill-opacity
nel tuo elemento di SVG.
Il valore predefinito è 1, il minimo è 0, al passaggio utilizzare i valori decimali EX: 0,5 = 50% dell'alfa. Nota: è necessario definire il fill
colore da applicare fill-opacity
.
Vedere il mio esempio .
fill="none"
conpointer-events="visible"
.