2

我正在尝试创建一个相当复杂的 SVG 界面,由几个图形层组成。

我希望在调整浏览器窗口大小时通过使用 viewBox 属性来拉伸某些图层(即 SVG 中的“g”元素)。同一 SVG 中的其他图层应单独缩放或处理。这就是我遇到问题的地方。

我希望能够做到以下几点:

<svg>
    <g name="stretchable" width="900px" height="500px" viewBox="0px 0px 900px 500px">
        ...insert stretchable shapes here...
    </g>
    <g name="non-stretchable">
        ...insert other shapes here...
    </g>
</svg>

...然后通过操作 viewBox 属性仅拉伸“可拉伸” g 元素。但显然, viewBox 属性不适用于 g 元素。

有没有其他方法可以在 SVG 中拉伸特定的“g”元素,而不必拉伸整个 SVG?

4

1 回答 1

2

为什么不使用<svg>元素而不是<g>元素。它确实允许使用 viewBox 属性。

如果这不好,您可以随时尝试将 transform="scale(x,y)" 添加到<g>x 和 y 是您需要计算的数字比例因子的元素。

BTW<g>元素不支持宽度或高度属性,尽管<svg>元素支持。

于 2013-04-02T14:04:50.943 回答