Actuellement en construction d'une application SVG basée sur un navigateur. Dans cette application, différentes formes peuvent être stylisées et positionnées par l'utilisateur, y compris des rectangles.
Lorsque j'applique un stroke-widthà un rectélément SVG , par exemple 1px, le trait est appliqué au rectdécalage et à l'encart de de différentes manières par différents navigateurs. Cela s'avère problématique, surtout lorsque j'essaie de calculer la largeur extérieure et la position visuelle d'un rectangle et de le positionner à côté d'autres éléments.
Par exemple:
- Firefox ajoute un encart de 1 px (en bas et à gauche) et un décalage de 1 px (en haut et à droite)
- Chrome ajoute un encart de 1 px (en haut et à gauche) et un décalage de 1 px (en bas et à droite)
Jusqu'à présent, ma seule solution serait de dessiner moi-même les bordures réelles (probablement avec l' pathoutil) et de positionner les bordures derrière l'élément tracé. Mais cette solution est une solution de contournement désagréable, et je préférerais ne pas emprunter cette voie si possible.
Donc ma question est, pouvez-vous contrôler comment un SVG stroke-widthest dessiné sur des éléments?
paint-orderparamètre, où vous pouvez spécifier, que le remplissage doit être rendu au-dessus du trait, donc vous obtiendrez «l'alignement extérieur», voir jsfiddle.net/hne0kyLg/1
