【发布时间】:2018-03-09 07:25:28
【问题描述】:
我想为 SVG 路径的属性“d”使用 CSS 动画。 此示例在 Google chrome 中运行:
body {
background-color: #022040;
}
#path {
d: path('M425,225 L475,275 L575,175 L675,275 L775,175 L875,275 L925,225');
stroke: #1EFE64;
fill: none;
animation-name: path;
animation-duration: 5s;
animation-timing-function: ease-in;
animation-fill-mode: forwards;
}
@keyframes path {
0% {
d: path('M425,225 L475,275');
}
25% {
d: path('M425,225 L475,275 L575,175 L575,175 L575,175 L575,175 L575,175');
}
50% {
d: path('M425,225 L475,275 L575,175 L675,275 L675,275 L675,275 L675,275');
}
75% {
d: path('M425,225 L475,275 L575,175 L675,275 L775,175 L775,175 L775,175');
}
90% {
d: path('M425,225 L475,275 L575,175 L675,275 L775,175 L875,275 L875,275');
}
100% {
d: path('M425,225 L475,275 L575,175 L675,275 L775,175 L875,275 L925,225');
}
}
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" height="400">
<path id="path" stroke-width="20"/>
</svg>
但在 Safari Pc/Mobile 和 FireFox 中不起作用。
如何修复错误? 还是应该在 svg 中使用标签“animate”?
请帮帮我) 谢谢!
【问题讨论】:
-
这些浏览器只支持 d 作为属性,不支持 CSS。如果你想支持它们,你可以在 SMIL 中重做动画。