Atualmente construindo um aplicativo SVG baseado em navegador. Dentro deste aplicativo, várias formas podem ser estilizadas e posicionadas pelo usuário, incluindo retângulos.
Quando aplico a stroke-widthem um rectelemento SVG , por exemplo 1px, o traçado é aplicado ao rectdeslocamento e inserção do de diferentes maneiras por diferentes navegadores. Isso está se mostrando problemático, especialmente quando tento calcular a largura externa e a posição visual de um retângulo e posicioná-lo ao lado de outros elementos.
Por exemplo:
- O Firefox adiciona 1 px inserido (inferior e esquerdo) e 1 px offset (superior e direito)
- O Chrome adiciona 1 px inserido (superior e esquerdo) e 1 px offset (inferior e direito)
Minha única solução até agora seria desenhar as bordas reais (provavelmente com a pathferramenta) e posicionar as bordas atrás do elemento traçado. Mas essa solução é uma solução desagradável e eu preferiria não seguir esse caminho, se possível.
Então, minha pergunta é: você pode controlar como um SVG stroke-widthé desenhado em elementos?
paint-orderparâmetro, onde você pode especificar, que o preenchimento deve ser renderizado na parte superior do traçado, para que você obtenha o "alinhamento externo", consulte jsfiddle.net/hne0kyLg/1
