В даний час створюється SVG-додаток на основі браузера. У цій програмі користувач може стилізувати та розміщувати різні фігури, включаючи прямокутники.
Коли я застосую stroke-width
до rect
елемента SVG, наприклад 1px
, обведення наноситься на rect
зсув та вставки різними браузерами. Це виявляється проблематичним, особливо коли я намагаюся обчислити зовнішню ширину та візуальне положення прямокутника та розташувати його поруч з іншими елементами.
Наприклад:
- Firefox додає вкладку 1 піксель (знизу та зліва) та зміщення 1 пікселя (вгорі та праворуч)
- Chrome додає вкладку 1 піксель (вгорі та зліва) та зміщення 1 піксель (знизу та справа)
Єдиним моїм рішенням поки що було б намалювати фактичні межі самостійно (можливо, path
інструментом) та розташувати межі за погладженим елементом. Але це рішення є неприємним вирішенням, і я вважаю за краще не їхати цією дорогою, якщо це можливо.
Отже, моє запитання полягає в тому, чи можете ви контролювати, як SVG stroke-width
складається з елементів?
paint-order
параметр, за яким можна вказати, що заливка повинна бути відображена поверх обведення, так що ви отримаєте "зовнішнє вирівнювання", див. Jsfiddle.net/hne0kyLg/1