SVG 子元素上的 CSS 变换原点问题
缩放 SVG 中的子元素时,默认变换原点设置为整个 SVG 的 (0,0) 点,即左上角。如果所需的原点是正在缩放的元素的中心,这可能会导致意外的缩放行为。
要解决此问题,请修改要设置动画的元素的 Transform-box 属性。默认情况下,transform-box 使用 border-box 模型,其中变换操作是相对于元素的框(包括其填充和边框)应用的。要解决原点问题,请设置transform-box: fill-box;。
示例:
<code class="css">@keyframes scaleBox { from {transform: scale(0);} to {transform: scale(1);} } #animated-box { transform-box: fill-box; animation: scaleBox 2s infinite; }</code>
通过将transform-box设置为fill-box,变换操作将相对于元素的实际内容而不是其框来应用。这将确保缩放动画源自子元素的中心。
以上是以下是一些适合您文章内容的基于问题的标题: * 为什么我的 SVG 子元素从左上角开始缩放? * 缩放 SVG 子时如何纠正变换原点问题的详细内容。更多信息请关注PHP中文网其他相关文章!