我在adobe illustrator中创建了一个svg并使用了由此生成的代码。我试图动画svg绘图。我的svg元素:
<svg width="100px" height="100px">
<path fill="none" d="M5,60c0-24.873,20.127-45,45-45" />
<path fill="none" d="M95,60c0-24.873-20.127-45-45-45" />
</svg>
第一条曲线是顺时针方向的动画,我希望第二条曲线是逆时针方向的动画。你可以在问题的最后看到演示片段。
请解释我如何以顺时针方向为第二条路径设置动画。还请解释两条路径的曲线数据是否可以。感谢
svg {
width: 300px;
}
svg path {
fill-opacity: 0;
stroke: #50514F;
stroke-width: 5;
stroke-dasharray: 870;
stroke-dashoffset: 870;
animation: draw 10s infinite linear;
}
@keyframes draw {
to {
stroke-dashoffset: 0;
}
}
<svg width="100px" height="100px">
<path fill="none" d="M5,60c0-24.873,20.127-45,45-45" />
<path fill="none" d="M95,60c0-24.873-20.127-45-45-45" />
</svg>
答案 0 :(得分:2)
第二条路径以逆时针方式开始,因为起点定义在终点的右侧。当您的要求只是圆弧时,为什么要使用复数三次贝塞尔曲线? 您可以使用椭圆曲线,这些曲线太简单,无法使用和处理。将您定义的路径更改为这两个路径定义,您将实现您想要的目标:
{{1}}
M 旁边的坐标是您的起点。 A 旁边的值分别表示椭圆曲线的水平和垂直半径(两者都将与您想要的相同)圆形曲线)。之后的 0 表示您想要旋转椭圆的角度。之后,您必须提供两个以逗号分隔的标记。第一个标记表示您是要采用最短( 0 )还是最长( 1 < / strong>)起点和终点之间的路径。第二个标志表示是要采用逆时针( 0 )路径还是顺时针( 0 )开始点和结束点之间的路径(您可以更改两个标志以查看更改)。最后一个坐标是您的结束点,第一个路径为 55,10 105,60 为第二个。