Eu tenho o seguinte código:
<span>
<svg height="32" version="1.1" width="32" xmlns="http://www.w3.org/2000/svg" style="overflow: hidden; position: relative; left: -0.0166626px; top: -0.983337px;">
<desc></desc>
<defs/>
<path style="" fill="#333333" stroke="none" d="M15.985,5.972C8.422,5.972,2.289999999999999,10.049,2.289999999999999,15.078C2.289999999999999,17.955,4.302999999999999...............1,27.68,22.274Z"/>
</svg>
</span>
É possível alterar a cor de preenchimento do caminho SVG com CSS ou algum outro meio sem realmente alterá-lo dentro da tag path?
<symbol>
e<use>
. Veja esta resposta .Respostas:
Sim, você pode aplicar CSS ao SVG, mas precisa corresponder ao elemento, assim como ao estilizar HTML. Se você quiser aplicá-lo a todos os caminhos SVG, use, por exemplo:
CSS externo parece substituir o
fill
atributo do caminho , pelo menos nos navegadores WebKit e Gecko que testei. Obviamente, se você escrever, digamos,<path style="fill: green">
isso também substituirá o CSS externo.fonte
<svg>
tag.<use href="external.svg#objId" />
e o CSS local ainda será aplicado em algum grau.fill: #000;
vez debackground: #000;
.se você quiser alterar a cor passando o mouse sobre o elemento, tente o seguinte:
fonte
Se você digitar o código-fonte de um arquivo SVG, poderá alterar o preenchimento de cor modificando a propriedade de preenchimento.
Use seu editor de texto favorito, abra o arquivo SVG e brinque com ele.
fonte
você coloca esse css para o círculo svg.
fonte
Me deparei com um recurso incrível em css-tricks: https://css-tricks.com/using-svg/
Existem algumas soluções explicadas lá.
Eu preferi o que exigia edições mínimas ao svg de origem e também não exigia que ele fosse incorporado ao documento html. Esta opção utiliza a
<object>
tag.Adicione o arquivo svg ao seu html usando
<object>
; Eu também declarei atributos htmlwidth
eheight
. Usando essas larguras e alturas, o documento svg não é dimensionado, resolvi isso usando umatransform: scale(...)
instrução css para asvg
tag no meu arquivo svg css associado.Crie um arquivo css para anexar ao seu documento svn. Meu caminho svg de origem foi redimensionado para 16px, eu o ampliei para 64 com um fator de quatro. Ele tinha apenas um caminho, então não precisei selecioná-lo mais especificamente, no entanto, o caminho tinha um atributo de preenchimento, então tive que usar
!IMPORTANT
para forçar o css a ter precedência.Edite seu arquivo svg de destino, antes da
<svg
tag de abertura , para incluir uma folha de estilo; Observe que o href é relativo ao URL do arquivo svg.fonte
Você pode usar essa sintaxe, mas será necessário fazer algumas alterações no arquivo SVG. E remova qualquer preenchimento / traço do próprio SVG.
icon.svg
icon.html
fonte
currentColor
É possível alterar a cor do preenchimento do caminho do svg. Veja abaixo o trecho CSS:
Para aplicar a cor a todo o caminho:
svg > path{ fill: red }
Para aplicar para o primeiro caminho d:
svg > path:nth-of-type(1){ fill: green }
Para aplicar para o segundo caminho d:
svg > path:nth-of-type(2){ fill: green}
Para solicitar o caminho d diferente, altere apenas o número do caminho:
svg > path:nth-of-type(${path_number}){ fill: green}
Para dar suporte ao CSS no Angular 2 a 8, use o conceito de encapsulamento:
fonte
Coloque todo o seu svg:
Em Css:
Para usar pseudo-classes:
Explicação
raiz = página html.
--svgcolor = uma variável.
span.github = selecionando um elemento span com um github de classe, um ícone svg dentro e atribuindo um pseudo-class pair.
fonte