현재 브라우저 기반 SVG 응용 프로그램을 구축 중입니다. 이 응용 프로그램 내에서 사각형을 포함하여 다양한 모양을 사용자가 스타일을 지정하고 배치 할 수 있습니다.
나는를 적용하면 stroke-width
SVG의에 rect
말의 요소 1px
, 스트로크가 적용됩니다 rect
의 오프셋 및 다른 브라우저로 다른 방법으로 삽입. 특히 사각형의 바깥 쪽 너비와 시각적 위치를 계산하고 다른 요소 옆에 배치하려고 할 때 문제가되는 것으로 입증되었습니다 .
예를 들면 다음과 같습니다.
- Firefox는 1px 삽입 (아래와 왼쪽)과 1px 오프셋 (상하와 오른쪽)을 추가합니다
- Chrome은 1px 삽입 (상단 및 왼쪽)과 1px 오프셋 (하단 및 오른쪽)을 추가합니다
지금까지 내 유일한 해결책은 실제 테두리를 직접 (아마도 path
도구를 사용하여 ) 그려서 테두리를 획 요소 뒤에 배치하는 것입니다. 그러나이 솔루션은 불쾌한 해결 방법이며 가능한 경우이 길을 따르지 않는 것이 좋습니다.
내 질문은 SVG stroke-width
에 요소를 그리는 방법을 제어 할 수 있습니까?
paint-order
칠 위에 스트로크를 렌더링하도록 지정할 수 있는 매개 변수가 있습니다. 따라서 "외부 정렬"을 얻을 수 있습니다. jsfiddle.net/hne0kyLg/1