如何在红色矩形内移动此多边形

时间:2017-01-13 14:12:24

标签: html css svg

修改

这是小提琴 - https://jsfiddle.net/Ldvj15dk/1/

这位不工作的员工创建了这个树形图,现在我需要移动这个多边形,如下所示......但我不确定这样做的最简单方法是什么......

如果将这个多边形移动到三角形,我应该对点进行哪些更改,如图所示?

<svg width="100%" height="510">
	<g transform="translate(650,150)">
		<g transform="translate(0,100)">
			<g>
				<rect x="-150" y="-14.9" width="300" height="30" style="fill: blue"/>
				<text dx="-135" dy="0.3" text-anchor="start" style="fill: white">
					<tspan x="-10" dy="0.3em">Test Node</tspan>
				</text>
			</g><g>
				<rect x="125" y="-15" width="25" height="30" style="fill: red;"/>
				<polygon points="9.7,8.814 9.7,8.902 8.15,8.082 8.15,6.31 6.912,6.31 6.912,3.98 8.975,3.98 8.975,0 4.025,0 4.025,3.98 6.088,3.98 6.088,6.31 4.85,6.31 4.85,8.104 3.3,8.916 3.3,8.814 0,8.814 0,12 3.3,12 3.3,9.82 4.85,9.01 4.85,9.494 8.15,9.494 8.15,8.99 9.7,9.811 9.7,12 13,12 13,8.814 " style="fill: yellow;"/>
			</g>
		</g>
	</g>
</svg>

我想让它看起来像这样,

http://image.prntscr.com/image/0b3cdab34bbc4fc5a27ffaa3f67ceb43.png

1 个答案:

答案 0 :(得分:1)

最简单,最懒惰的解决方案就是将多边形转换为所需的位置。这是一个例子(使用幻数):

<svg width="100%" height="200">
	<g transform="translate(150,50)">
		<g transform="translate(0,0)">
			<g>
				<rect x="-150" y="-14.9" width="300" height="30" style="fill: blue"/>
				<text dx="-135" dy="0.3" text-anchor="start" style="fill: white">
					<tspan x="-10" dy="0.3em">Test Node</tspan>
				</text>
			</g><g>
				<rect x="125" y="-15" width="25" height="30" style="fill: red;"/>
				<polygon transform="translate(130,-4)" points="9.7,8.814 9.7,8.902 8.15,8.082 8.15,6.31 6.912,6.31 6.912,3.98 8.975,3.98 8.975,0 4.025,0 4.025,3.98 6.088,3.98 6.088,6.31 4.85,6.31 4.85,8.104 3.3,8.916 3.3,8.814 0,8.814 0,12 3.3,12 3.3,9.82 4.85,9.01 4.85,9.494 8.15,9.494 8.15,8.99 9.7,9.811 9.7,12 13,12 13,8.814 " style="fill: yellow;"/>
			</g>
		</g>
	</g>
</svg>