SVG로 플레이하고 있으며 위치 지정에 몇 가지 문제가 있습니다. g
그룹 태그에 포함 된 일련의 모양이 있습니다 . 컨테이너처럼 사용하기를 원했기 때문에 x 위치를 설정하면 해당 그룹의 모든 요소가 이동합니다. 그러나 그것은 가능하지 않은 것 같습니다.
- 대부분의 사람들은 이동하려는 요소 그룹을 어떻게 배치합니까?
- 상대 위치 개념이 있습니까? 예를 들어 부모와 관련
답변
g 요소의 모든 것은 현재 변환 행렬을 기준으로 배치됩니다.
내용을 옮기려면 g 요소에 변환을 넣으십시오.
<g transform="translate(20,2.5) rotate(10)">
<rect x="0" y="0" width="60" height="10"/>
</g>
링크 : 예 에서 SVG 1.1 사양
답변
이전 답변에 대한 더 짧은 대안이 있습니다. SVG 요소는 svg 요소를 중첩하여 그룹화 할 수도 있습니다.
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<svg x="10">
<rect x="10" y="10" height="100" width="100" style="stroke:#ff0000;fill: #0000ff"/>
</svg>
<svg x="200">
<rect x="10" y="10" height="100" width="100" style="stroke:#009900;fill: #00cc00"/>
</svg>
</svg>
두 사각형은 동일하지만 (색상 제외) 부모 svg 요소의 x 값이 다릅니다.
http://tutorials.jenkov.com/svg/svg-element.html을 참조하십시오 .
답변
다른 의견에서 언급했듯이 요소 의 transform
속성 g
은 원하는 것입니다. 주위 transform="translate(x,y)"
를 움직이고 의지 g
내에서 물건 을 이동하는 데 사용 g
합니다 g
.
답변
여러 SVG 모양을 그룹화하고 그룹을 배치하는 두 가지 방법이 있습니다.
Aaron이 쓴 것처럼 속성과 <g>
함께 처음으로 사용 transform
합니다. 그러나 당신은 단지에 x
속성을 사용할 수 없습니다<g>
요소에 .
다른 방법은 중첩 <svg>
요소 를 사용하는 것입니다 .
<svg id="parent">
<svg id="group1" x="10">
<!-- some shapes -->
</svg>
</svg>
이런 식으로 # group1 svg는 #parent에 중첩되고 x=10
는 부모 svg에 상대적입니다. 그러나 요소에 transform
속성을 사용할 수는 없습니다 <svg>
. 이는 요소와 상당히 반대입니다 <g>
.