A fill
propriedade em CSS é para preencher a cor de uma forma SVG.
.eyeball ( fill: red; )
Lembrar:
- Isto irá substituir um atributo de apresentação
- Isso não substituirá um estilo embutido, por exemplo
Valores
A fill
propriedade pode aceitar qualquer valor de cor CSS.
- Cores nomeadas -
orange
- Cores hexadecimais -
#FF9E2C
- Cores RGB e RGBa -
rgb(255, 158, 44)
ergba(255, 158, 44, .5)
- Cores HSL e HSLa -
hsl(32, 100%, 59%)
ehsla(32, 100%, 59%, .5)
Como bônus, fill
também aceita os padrões de formas SVG que são definidas dentro de um defs
elemento:
.module ( fill: url(#pattern); )
Veja a propriedade Pen fill por CSS-Tricks (@ css-tricks) em CodePen.
Um caso de uso
Um caso de uso comum para fill
é alterar a cor de um SVG ao passar o mouse, da mesma forma que fazemos color
ao definir o estilo do link.
.icon ( fill: black; ) .icon:hover ( fill: orange; )
Veja a propriedade Pen fill por CSS-Tricks (@ css-tricks) em CodePen.
Outro caso de uso
A fill
propriedade é uma das muitas razões pelas quais o SVG é uma opção muito mais flexível do que os arquivos de imagem típicos. Vamos pegar os ícones, como exemplo.
Podemos ter o mesmo conjunto de ícones, mas em dois esquemas de cores diferentes. Arquivos de imagem típicos (como JPG.webp, PNG e GIF) exigem que façamos duas versões de cada ícone - uma para cada esquema de cores.
O SVG, por outro lado, nos permite pintar os ícones usando a fill
propriedade CSS :
.icon ( fill: black; ) .icon-secondary ( fill: orange; )
Agora podemos reutilizar o mesmo arquivo SVG para vários cenários, alterando o nome da classe do caminho ou forma:
Veja a propriedade Pen fill por CSS-Tricks (@ css-tricks) em CodePen.
Mais Informações
- SVG 1.1 Spec
- MDN em preenchimentos e traços
- Cascading SVG Fill Color
- Padrões de preenchimento SVG por Jacob Jenkov
Suporte para navegador
cromada | Safári | Raposa de fogo | Ópera | IE | Android | iOS |
---|---|---|---|---|---|---|
sim | sim | sim | sim | 9+ | 4,4+ | sim |