Você usa um atributo adicional; fill-opacity: Esse atributo assume um número decimal entre 0,0 e 1,0, inclusive; onde 0.0 é completamente transparente.
você também pode colocá-los no atributo style: <rect style = "fill: # 044B94; opacidade de preenchimento: 0,4;" />
PeterVermont
Acima, "opacidade de preenchimento" e "opacidade de acidente vascular cerebral" devem ser substituídas por "opacidade de preenchimento" e "capacidade de acidente vascular cerebral" (ou seja, substitua hífens por sublinhados).
mermaldad 6/06
1
@mermaldad Isso está incorreto; veja a especificação . Em algumas linguagens que não permitem que nomes contenham hífens, as bibliotecas para trabalhar com SVG usam nomes como fill_opacity, mas em SVG e CSS, é fill-opacity.
Williham Totland
@WillihamTotland, obrigado pela correção. Eu pulei mentalmente direto para "como implementar isso usando svgwrite em Python". Lá você precisa substituir os hífens por sublinhados.
mermaldad 11/06
78
Como uma solução ainda não totalmente padronizada (embora alinhada com a sintaxe de cores no CSS3), você pode usar, por exemplo fill="rgba(124,240,10,0.5)". Funciona bem no Firefox, Opera, Chrome.
Observando w3.org/TR/SVG/painting.html#FillProperties (role um pouco para baixo para verificar a opacidade de preenchimento); isso parece totalmente padronizado para mim.
Williham Totland
10
@ williham: sim, a opacidade de preenchimento está na recomendação SVG, e não há problema em usá-lo. A sintaxe do CSS3 está no CSS3 Color, a um passo de se tornar uma recomendação do w3c. O SVG 1.1 não faz referência ao CSS3 Color porque não estava disponível no momento, provavelmente uma versão futura do SVG o fará.
Erik Dahlström
7
Só quero mencionar, um lugar onde isso não parece trabalho está em Inkscape
George Mauer
2
Usei esta solução no Highcharts e funcionou. É convertido rgbapara rgbe automaticamente adicionado o fill-opacityatributo a ele. Não tenho certeza se é assim que funciona em SVGs normais também, mas é assim que funcionou lá. De qualquer forma, obrigado.
21414 Hanna
3
Posso obter algum esclarecimento sobre quais navegadores realmente suportam rgba em svgs inline?
Redanimalwar 9/12/16
6
fill="#044B9466"
Essa é uma cor RGBA em notação hexadecimal dentro do SVG, definida com valores hexadecimais. Isso é válido, mas nem todos os programas podem exibi-lo corretamente ...
A partir de agosto de 2017: as cores de preenchimento RGBA serão exibidas corretamente no Mozilla Firefox (54), Apple Safari (10.1) e no "Quick View" do Mac OS X Finder. No entanto, o Google Chrome não suportava essa sintaxe até a versão 62 (anteriormente era suportada na versão 54 com o sinalizador Recursos da plataforma experimental ativado).
Você sabe se eles mudaram alguma coisa recentemente? Eu tinha um aplicativo chrome funcional que usava fill: rgb (...) e agora está completamente quebrado. Agradecemos sua ajuda!
Mariodiar 16/08
A biblioteca Qt SVG (Qt 5.9.3) também não pode lidar com cores RGBA até agora, nem na forma hexagonal "# 00000000" nem como "rgba".
bkausbk
2
Para tornar um preenchimento completamente transparente, fill="transparent"parece funcionar em navegadores modernos. Mas não funcionou no Microsoft Word (para Mac), eu tive que usar fill-opacity="0".
fill="none"
compointer-events="visible"
.Respostas:
Você usa um atributo adicional;
fill-opacity
: Esse atributo assume um número decimal entre 0,0 e 1,0, inclusive; onde 0.0 é completamente transparente.Por exemplo:
Além disso, você tem o seguinte:
stroke-opacity
atributo para o traçadoopacity
para todo o objetofonte
fill_opacity
, mas em SVG e CSS, éfill-opacity
.Como uma solução ainda não totalmente padronizada (embora alinhada com a sintaxe de cores no CSS3), você pode usar, por exemplo
fill="rgba(124,240,10,0.5)"
. Funciona bem no Firefox, Opera, Chrome.Aqui está um exemplo .
fonte
rgba
parargb
e automaticamente adicionado ofill-opacity
atributo a ele. Não tenho certeza se é assim que funciona em SVGs normais também, mas é assim que funcionou lá. De qualquer forma, obrigado.Essa é uma cor RGBA em notação hexadecimal dentro do SVG, definida com valores hexadecimais. Isso é válido, mas nem todos os programas podem exibi-lo corretamente ...
Você pode encontrar o suporte do navegador para esta sintaxe aqui: https://caniuse.com/#feat=css-rrggbbaa
A partir de agosto de 2017: as cores de preenchimento RGBA serão exibidas corretamente no Mozilla Firefox (54), Apple Safari (10.1) e no "Quick View" do Mac OS X Finder. No entanto, o Google Chrome não suportava essa sintaxe até a versão 62 (anteriormente era suportada na versão 54 com o sinalizador Recursos da plataforma experimental ativado).
fonte
Para tornar um preenchimento completamente transparente,
fill="transparent"
parece funcionar em navegadores modernos. Mas não funcionou no Microsoft Word (para Mac), eu tive que usarfill-opacity="0"
.fonte
fill="none"
funciona, masfill="transparent"
não.Use o atributo
fill-opacity
em seu elemento do SVG.O valor padrão é 1, o mínimo é 0, na etapa, use valores decimais EX: 0,5 = 50% de alfa. Nota: É necessário definir a
fill
cor a aplicarfill-opacity
.Veja meu exemplo .
Referências .
fonte