使用CSS3围绕自身中心旋转SVG路径

Mos*_*ebi 5 html css svg css3 css-animations

我有一组SVG路径,其中一个如下:

<path id="GOL" class="st0" d="M37.5,430.5l-12.4-12.4v-13.3h-4.2c-7.2,0-13.9,2.5-18.7,7.5c-4.7,4.9-7.3,11.3-7.3,18.3
    c0,7,2.6,13.5,7.3,18.3c4.8,5,11.4,7.6,18.6,7.6l4.2,0v-13.7L36.7,430.5z M19.7,435.3l-4.9-4.9l4.9-4.9l4.9,4.9L19.7,435.3z
     M2.4,430.5c0-8.4,5.6-15.1,13.1-16.9v3.8L2.4,430.5l13.1,13.1v3.8C8,445.6,2.4,438.9,2.4,00.5z"></path>
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下代码进行旋转动画:

.stuck #GOL
{
  fill: red;
  transform: rotate(90deg);
}

#GOL
{
  transition-property: all;
  transition-duration: 2s;
}
Run Code Online (Sandbox Code Playgroud)

问题是路径围绕不规则的距离中心旋转。我希望它绕自己的中心旋转。我必须使用CSS3(所以我不能使用svg自己的rotate()功能)。

Ste*_*ide 2

你尝试过transform-origin在 CSS 中使用吗?

transform-origin: 50% 50%;
Run Code Online (Sandbox Code Playgroud)

这将从选择器的中间开始任何转换。

  • 确认不重复不适用于 chrome 64 和 Firefox 58。这适用于 DOM 元素,但不适用于 SVG 元素。这在旧版本中也适用于 SVG 元素。 (4认同)