css - 如何在同一原点缩放 SVG 中的路径?

标签 css svg

我想在 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 上发生的事情: enter image description here

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

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

最佳答案

你想要 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 错误地默认为这个。

关于css - 如何在同一原点缩放 SVG 中的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47337942/

相关文章:

html - 如何使用 HTML 为输入元素创建子标签

HTML 在 Div 上设置图像中心

html - CSS 中的属性值区分大小写吗?

css - Gatsby 如何在 scss 中正确导入 svg 作为背景?

c++ - 将 QGraphicsSvgItem 的中心定位在一个位置上。

css - 如何在嵌入小部件中应用 css 样式

javascript - 更改矩形的大小以适合内部文本

angular - 无法绑定(bind)到 ':xlink:href',因为它不是 ':svg:image' 的已知属性

javascript - SVG 线性渐变在 Safari 中不起作用

Javascript 3D 轮播在 Internet Explorer 中无法正常工作