Color de relleno
En el SVG podemos definir el relleno de un trazado con fill. A continuación algunos atributos que como fill controlan el aspecto del relleno.
| Atributo | Ejemplo | Descripción |
|---|---|---|
| fill | fill = "#6ab150" o style = "fill = #6ab150" |
nombre | hex | rgb | hsl | rgba | hsla |
| opacity | opacity = ".5" | número de 0 a 1 |
| fill-opacity | fill-opacity = ".5" | número de 0 a 1 |
| stroke-opacity | stroke-opacity = ".5" | número de 0 a 1 |
| fill-rule | fill-rule = "evenodd" | evenodd | nonzero |
La propiedad fill
Podemos utilizar fill como valor del atributo style.
<rect x="10" y="15" height="100" width="110" style="fill: #6ab150"/>
o podemos utilizar fill como atributo de un objeto SVG
<rect x="130" y="15" height="100" width="110" fill="#6ab150"/>
El valor del atributo fill puede ser un color, un patrón o un degradado.
Si el valor del atributo fill es un color podemos utilizar:
colores HEX o hexadecimales ( #6ab150 )
colores RGB ( rgb(106, 177, 80) )
colores HSL ( hsl(104, 38%, 50%) )
nombres de colores predefinidos ( LimeGreen )
Colores alpha
También podemos utilizar colores RGBA, o sea colores RGB con un canal alpha y colores HSLA ( colores HSL con un canal alpha )
colores RGBA ( rgb(106, 177, 80, .5) )
colores HSLA ( hsl(104, 38%, 50%, .5) )
Opacidad
Los colores HSLA y RGBA no son la única manera de afectar la opacidad / transparencia de un relleno.
El atributo opacity puede ser utilizado con este propósito, y toma valores entre 0 - totalmente transparente - y 1 - totalmente opaco.
También existe el atributo fill-opacity que afecta de la misma manera solo a los rellenos, y stroke-opacity que afecta solo a los bordes y líneas en SVG.
Una regla de llenado ( fill-rule )
El SVG determina si un punto se encuentra dentro o fuera del trazado. Obviamente si el punto se encuentra dentro del trazado, se tiñe del color especificado ( fill="#6ab150" ), de lo contrario se queda en blanco. Parece sencillo pero no lo es. A veces no es tan claro si un punto se encuentra dentro o fuera del trazado, por ejemplo cuando dibujamos estrellas y las líneas del trazado se entrecruzan. Para dejar las cosas claras podemos utilizar la propiedad fill-rule que puede tomar una de estas dos valores: evenodd ( par impar ) o nonzero.
Artículos relacionados
Enlaces útiles
- La esp. w3.org: Fill Properties
- Optimize el código SVG con SVG Optimiser
- Más información acerca del soporte de SVG en los navegadores
- Libros en ingles:
- SVG Essentials
- SVG Colors, Patterns & Gradients