【发布时间】:2020-06-27 23:32:40
【问题描述】:
我正在制作动画加载动画。我有 3 个形状,我想沿着路径移动并在它们沿着路径移动时按比例缩放。这 3 个形状将遵循相似的路径,但起点不同。我在 Illustrator 中创建了形状和路径并导出了 SVG。这是最大形状及其路径的示例。
我的问题是没有整天尝试和错误更改路径点顺序,有没有更简单的方法来设置起点?我的形状从错误的点开始,如您所见这张图片。
.loading-wrap {
width:200px;
height:200px;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
.cir-3 {
width:50px;
height:50px;
border-radius: 50%;
background:cornflowerblue;
position: absolute;
top: 30%;
left: 30%;
offset-path: path("M147.33,108.45A49.76,49.76,0,0,0,97.57,58.69c-22.33,0-45.32,20.86-47.52,35-1.46,4.68-2.23,19.13,61,21.5-.79,14.37-43.76,9.63-61.5,6.39a49.77,49.77,0,0,0,97.78-13.09Z");
animation: move 3s ease-in-out infinite reverse;
}
@keyframes move {
100% {
offset-distance: 100%;
}
}
<div class="loading-wrap">
<div class="cir-1"></div>
<div class="cir-2"></div>
<div class="cir-3"></div>
</div>
编辑:创建了一个代码笔https://codepen.io/CodeFreeze/pen/JjGNLRN
【问题讨论】:
-
为每个 div 使用不同的
animation-delay -
@enxaneta 同意它需要有单独的延迟,但我的问题是所有对象都从右外侧开始,而它们应该从圆圈中间开始,如您在第一个图像示例中所见.
标签: css svg css-animations