Aar*_*lla 256
g元素中的所有内容都相对于当前变换矩阵定位.
要移动内容,只需将转换放在g元素中:
<g transform="translate(20,2.5) rotate(10)">
<rect x="0" y="0" width="60" height="10"/>
</g>
Run Code Online (Sandbox Code Playgroud)
链接:实施例从该SVG 1.1规范
Kağ*_*yal 60
有一个较短的替代前一个答案.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>
Run Code Online (Sandbox Code Playgroud)
两个矩形是相同的(除了颜色),但父svg元素具有不同的x值.
请参见http://tutorials.jenkov.com/svg/svg-element.html.
fen*_*huo 18
有两种方法可以对多个SVG形状进行分组并定位组:
第一个<g>与transform属性一起使用的Aaron写道.但是你不能只x在<g>元素上使用一个属性.
另一种方法是使用嵌套<svg>元素.
<svg id="parent">
<svg id="group1" x="10">
<!-- some shapes -->
</svg>
</svg>
Run Code Online (Sandbox Code Playgroud)
这样,#group1 svg嵌套在#parent中,并且x=10相对于父svg.但是,你不能transform在<svg>元素上使用属性,这与<g>元素完全相反.