La paint-order
propiedad CSS establece el orden en que se dibujan las formas y el texto SVG, incluido el relleno, el trazo y los marcadores que puedan estar en uso. De forma predeterminada, esos atributos se dibujan en ese mismo orden: relleno, trazo y marcadores. Esta propiedad nos permite cambiarla para que tengamos más control sobre la apariencia resultante.
Donde esta propiedad realmente brilla es con el texto SVG, particularmente un elemento que tiene un relleno y un trazo. Como esto:
Uf, ese golpe es retorcido. Tiene solo 6px de ancho, pero cubre el relleno. Eso es porque el relleno se pinta primero, por defecto, seguido del trazo. Pero si revertimos eso usando la paint-order
propiedad, el relleno se pinta al final y cubre las partes antiestéticas del trazo.
¡Oh Dios, eso es mucho mejor! De hecho, podemos leer el texto y el trazo es más fiel a la forma de los caracteres que antes.
Sintaxis
paint-order: normal | ( fill || stroke || markers )
- Valor inicial:
normal
- Se aplica a: formas y elementos de contenido de texto
- Heredado: si
- Tipo de animación: discreto
Valores
/* Normal */ paint-order: normal; /* Single values */ paint-order: stroke; /* same as: stroke fill markers */ paint-order: markers; /* same as: markers fill stroke */ /* Multiple values */ paint-order: stroke fill; /* same as: stroke fill markers */ paint-order: markers stroke fill;
Vale la pena señalar que es totalmente legítimo pasar un valor. Por ejemplo, si hiciéramos esto:
paint-order: stroke;
... luego stroke
se pintará primero, seguido de los otros valores en su orden predeterminado. Teniendo eso en cuenta, este ejemplo es igual al siguiente:
Básicamente, esto significa que la propiedad acepta ya sea un valor de normal
o una combinación de fill
, stroke
y markers
en el orden que debe ser pintado.
paint-order: stroke fill markers
¿Y qué sucede si no se proporciona ningún valor o uno no válido? Se utilizará el orden predeterminado: relleno, trazo, marcadores.
Soporte de navegador
ES DECIR | Borde | Firefox | Cromo | Safari | Ópera |
---|---|---|---|---|---|
No | 17+ | 60+ | 35+ | 8+ | 22+ |
Android Chrome | Android Firefox | Navegador de Android | Safari de iOS | mini Opera |
---|---|---|---|---|
85+ | 79+ | 81+ | 8+ | Todos |
Otras lecturas
- Especificación de nivel 2 de gráficos vectoriales escalables (SVG) (recomendación candidata)