【发布时间】:2017-05-04 15:51:21
【问题描述】:
我有一组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>
我尝试使用以下代码制作旋转动画:
.stuck #GOL
{
fill: red;
transform: rotate(90deg);
}
#GOL
{
transition-property: all;
transition-duration: 2s;
}
问题是路径围绕一个不规则的距离中心旋转。我希望它围绕自己的中心旋转。我必须使用 CSS3(所以我不能使用 svg 自己的 rotate() 函数)。
【问题讨论】:
-
您可能需要 JS 来确定路径形状的中心。
-
无法使用 CSS 确定它?
-
No..CSS 不能“检测”任何东西。你可以试试
transform-origin: 50% 50%,但我记得这不一定支持跨浏览器,可能不是你真正想要的。一个演示在这里可能会有一些用处。 -
.stuck在这种情况下做了什么?它是什么元素? -
更具体地说,您可以通过 CSS 指定旋转中心(使用
transform-origin)。 CSS 不能为您做的是自己找到“中心”,您必须通过其他方式找到这些值。
标签: html css svg css-animations