Actualmente construyendo una aplicación SVG basada en navegador. Dentro de esta aplicación, el usuario puede diseñar y posicionar varias formas, incluidos los rectángulos.
Cuando aplico stroke-width
a un rect
elemento SVG de say 1px
, el trazo se aplica al rect
desplazamiento y al recuadro del s de diferentes maneras por diferentes navegadores. Esto está resultando problemático, especialmente cuando trato de calcular el ancho exterior y la posición visual de un rectángulo y colocarlo junto a otros elementos.
Por ejemplo:
- Firefox agrega 1px de inserción (abajo e izquierda) y 1px de compensación (arriba y derecha)
- Chrome agrega 1px de inserción (superior e izquierda) y 1px de compensación (inferior y derecha)
Mi única solución hasta ahora sería dibujar los bordes reales yo mismo (probablemente con la path
herramienta) y colocar los bordes detrás del elemento trazado. Pero esta solución es una solución desagradable, y preferiría no seguir este camino si es posible.
Entonces mi pregunta es, ¿puedes controlar cómo stroke-width
se dibuja un SVG en los elementos?
paint-order
parámetro, donde puede especificar, que el relleno se debe representar en la parte superior del trazo, por lo que obtendrá la "alineación externa", consulte jsfiddle.net/hne0kyLg/1