Hiện đang xây dựng một ứng dụng SVG dựa trên trình duyệt. Trong ứng dụng này, nhiều hình dạng khác nhau có thể được tạo kiểu và định vị bởi người dùng, bao gồm cả hình chữ nhật.
Khi tôi áp dụng một yếu tố nói stroke-width
SVG , đột quỵ được áp dụng cho phần bù và chèn theo các cách khác nhau bởi các trình duyệt khác nhau. Điều này đang chứng tỏ là rắc rối, đặc biệt là khi tôi cố gắng tính chiều rộng bên ngoài và vị trí trực quan của một hình chữ nhật và đặt nó bên cạnh các yếu tố khác.rect
1px
rect
Ví dụ:
- Firefox thêm hình ảnh 1px (dưới cùng và bên trái) và bù 1px (trên cùng và bên phải)
- Chrome thêm hình ảnh 1px (trên cùng và bên trái) và bù 1px (dưới cùng và bên phải)
Giải pháp duy nhất của tôi cho đến nay là tự vẽ các đường viền thực tế (có thể bằng path
công cụ) và định vị các đường viền phía sau phần tử được vuốt. Nhưng giải pháp này là một cách giải quyết khó chịu và tôi không muốn đi theo con đường này nếu có thể.
Vì vậy, câu hỏi của tôi là, bạn có thể kiểm soát cách một SVG stroke-width
được vẽ trên các yếu tố không?
paint-order
tham số, nơi bạn có thể chỉ định, rằng phần điền sẽ được hiển thị trên đỉnh của nét, vì vậy bạn sẽ nhận được "căn chỉnh bên ngoài", xem jsfiddle.net/hne0kyLg/1