【发布时间】:2019-07-16 18:32:57
【问题描述】:
我正在寻找一些关于在不影响内部路径的情况下缩放 SVG 容器的方法。我正在使用 Greensock.js,并希望 SVG 容器能够随字母本身的宽度缩放(不改变内部路径的纵横比)。最终目标是周围的字母与缩放字母一起洗牌。预期结果见附件 gif。
查看 Codepen,但这是我设置 HTML 的方式:
<div class="letters">
<svg class="lcontainer" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 324 406">
<rect class="bottom" x="46" y="353" width="278" height="53" />
<rect width="53" height="406" />
</svg>
<svg class="econtainer" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 324 406">
<rect class="outer" x="46" width="278" height="53" />
<rect class="inner" x="46" y="247" width="240" height="53" />
<rect class="outer" x="46" y="353" width="278" height="53" />
<rect width="54" height="406" />
</svg>
</div>
【问题讨论】:
-
这让我头疼,但我认为你需要实现某种逐字母动画。我会亲自在 SMIL 中完成,但您可以使用 javascript。
-
我会将所有字母放在同一个 svg 元素中。您可以将每个字母相对于前一组的边界框放置。另一个解决方案是使用 svg 湍流过滤器。
标签: html css animation svg gsap