Css 反向SVG线条绘制动画
我正在尝试反转SVG行的动画方式。我需要从左向右画线,但只能从右向左画。我试图改变illustrator中的端点,但这只会导致它从两边都画出来。我该怎么做?您可以在此处看到动画: 这是SVG:Css 反向SVG线条绘制动画,css,animation,svg,css-animations,Css,Animation,Svg,Css Animations,我正在尝试反转SVG行的动画方式。我需要从左向右画线,但只能从右向左画。我试图改变illustrator中的端点,但这只会导致它从两边都画出来。我该怎么做?您可以在此处看到动画: 这是SVG: <svg viewBox="0 0 759.7 234.2"> <path class="phone-line" stroke="#fff" stroke-width="4" stroke-dashoffset="20" fill="none" class="st0" d="M7
<svg viewBox="0 0 759.7 234.2">
<path class="phone-line" stroke="#fff" stroke-width="4" stroke-dashoffset="20" fill="none" class="st0" d="M755.6,229.7H540.1c-31.9,0-57.6-27-57.6-58.9l0-5.8V61.6c0-31.9-26.1-58-58-58h-40.8h-7.9H335
M755.6,229.7H540.1c-31.9,0-57.6-27-57.6-58.9l0-5.8V61.6c0-31.9-26.1-58-58-58h-40.8h-7.9H335
c-31.9,0-58,26.1-58,58v103.3v6.8c0,31.9-26.1,58-58,58H11.55" />
</svg>
如您所知,
stroke dasharray
属性创建虚线图案。当该值指定为1400时,表示短划线的长度和短划线之间的间距为1400。也就是说,从0到1400,将出现一条直线,从1400到2800,将出现一个破折号
现在,当您将stroke dashoffset
从1400
更改为0
时,它会从一个方向显示该行。最初偏移量为1400,因此只有短划线可见(无线条)。当偏移设置为0时,破折号向左移动,线(从0到1400)慢慢进入视图
从另一个方向执行此操作的简单方法是将其从1400
设置为2800
。完成此操作后,随着线(从2800到4200)慢慢进入视野,破折号向右移动
。电话线{
行程:1400;
动画:轻松绘制4s;
}
@关键帧绘制{
从{
行程偏移:1400;
}
到{
行程偏移:2800;
}
}
在我的浏览器(Firefox/Linux)上,该行完全没有设置动画(与图标相反)。@rr-在Chrome中查看。他只有webkit关键帧规则。是的,我的错误是忘记了我的非供应商前缀。也许更简单的方法是从-1400
到0
@paulebeau:我发誓我试过了,但出于某种原因,它之前没有起作用。我一定犯了一些愚蠢的错误。谢谢你的评论,我会在回答中提到:)在我的浏览器中确认了这一点← OP的帖子中的抱怨者应用了这一点,但发现与前进相比,动画启动有明显的延迟。“前进”立即启动动画。我不明白为什么,有人能解释一下吗?
.phone-line {
stroke-dasharray:1400;
-webkit-animation: draw 4s ease-in;
}
@-webkit-keyframes draw {
from {
stroke-dashoffset: 1400;
}
to {
stroke-dashoffset: 0;
}
}