【问题标题】:How to scale a path in SVG at the same origin?如何在同一原点缩放 SVG 中的路径?
【发布时间】:2017-11-16 19:48:14
【问题描述】:

我想在 SVG 中的路径上创建动画。它在同一原点来回缩放。问题是我目前的解决方案适用于 Chrome,但不适用于 Firefox。

.svg-map-pg-logo {
  animation-name: star;
  animation-duration: 0.5s;
  animation-iteration-count: infinite;
}

@keyframes star {
    0%   {
      transform: scale(1, 1);
      transform-origin: center center;
    }
    100% {
      transform: scale(1.2, 1.2);
      transform-origin: center center;
    }
}

在 Firefox 上,路径在向一个方向移动时会缩放。在 Chrome 上,它只是在其原始原点进行缩放。如何让秤不动?

这是在 Firefox 上发生的情况:

这就是 Chrome 上发生的事情,也是我想要的:

https://codepen.io/joshuajazleung/pen/jaaPwW

【问题讨论】:

标签: css svg


【解决方案1】:

你想要 transform-b​​ox: fill-box;

.svg-map-pg-logo {
  animation-name: star;
  animation-duration: 0.5s;
  animation-iteration-count: infinite;
  transform-origin: center center;
  transform-box: fill-box;
}

@keyframes star {
    0%   {
      transform: scale(1, 1);
    }
    100% {
      transform: scale(1.2, 1.2);
    }
}

当 transform-origin 设置为 center 时,Chrome 错误地默认为这个。

【讨论】:

  • 完美!谢谢
  • 你是神!非常感谢!
猜你喜欢
  • 2020-04-08
  • 2017-05-08
  • 2012-04-22
  • 2021-07-21
  • 2018-07-18
  • 2014-11-12
  • 1970-01-01
  • 1970-01-01
  • 2012-01-29
相关资源
最近更新 更多