【发布时间】:2019-02-26 21:20:32
【问题描述】:
我想让每个多边形/组都带有动画。我希望它是 Y 轴上的旋转,旋转的原点是最左边顶点的 Y 轴(想象一张扑克牌在左边缘靠在桌子上后,从垂直到平坦)。
但是,根据this Fiddle,变换的原点始终是 Y 轴,但始终 x = 0 作为旋转的原点,即使我使用最左边的顶点作为变换原点。
BONUS:初始旋转后,我想等待 1 秒,然后以最右边顶点的 Y 轴为原点再旋转一次以使其消失(0 到 -90 度)。
.three {
animation: spin 1s linear;
}
#three {
transform-origin: 87px 153px;
/*transform-origin: top left;*/
}
@keyframes spin {
0% {
transform: rotateY(-90deg);
}
100% {
transform: rotateY(0deg);
}
}
<svg width="1920" height="1080" xmlns="http://www.w3.org/2000/svg">
<g class='three' fill="gray" stroke="black" stroke-width="1">
<polygon id="three" points="222,0 200,107 87,153" />
</g>
</svg>
【问题讨论】:
-
请阅读这篇关于3d transforms on SVG element的文章
标签: css animation svg transformation css-transforms