Attualmente in costruzione un'applicazione SVG basata su browser. All'interno di questa app, le varie forme possono essere disegnate e posizionate dall'utente, inclusi i rettangoli.
Quando applico stroke-width
a un rect
elemento SVG di dire 1px
, il tratto viene applicato rect
all'offset e all'inserzione in diversi modi da diversi browser. Ciò si sta rivelando problematico, specialmente quando provo a calcolare la larghezza esterna e la posizione visiva di un rettangolo e posizionarlo accanto ad altri elementi.
Per esempio:
- Firefox aggiunge 1px inserto (in basso e a sinistra) e 1px offset (in alto e a destra)
- Chrome aggiunge 1px inserto (in alto e a sinistra) e 1px offset (in basso e a destra)
La mia unica soluzione finora sarebbe quella di disegnare personalmente i bordi (probabilmente con lo path
strumento) e posizionare i bordi dietro l'elemento tracciato. Ma questa soluzione è una soluzione spiacevole e preferirei non seguire questa strada, se possibile.
Quindi la mia domanda è: puoi controllare come stroke-width
viene disegnato un SVG sugli elementi?
paint-order
parametro, dove è possibile specificare, che il riempimento deve essere eseguito al di sopra del tratto, in modo da ottenere "l'allineamento esterno", vedere jsfiddle.net/hne0kyLg/1