How to animate a SVG – SVG animation
There are few ways to animate a svg. The easiest way to animate a svg is with css. So, the first thing we will do is build the svg, then we will create a keyframe to animate the way how the svg is writed.
<svg width="200" height="160" xmlns="http://www.w3.org/2000/svg"> <path class="path" d="M10 70 L 70 70, 90 30, 110 90, 120 50, 130 70, 190 70" stroke="white" fill="transparent"></path> </svg>
The M command from path comes from "move to", so we move to 10 left and 70 top. L comes from "line", and now we start to construct our lines.
Now we have to create our keyframe to animate the svg.
This is the keyframe for our animation:
@keyframes dash {
from {
stroke-dashoffset: 290;
}
to {
stroke-dashoffset: 0;
}
}
After we will add few line of css for the svg we are done with it. You can just copy/paste this code and then change the svg path to understand better how it's working.
CSS:
svg{
width:200px;
height:120px;
}
.path {
stroke-dasharray: 290;
stroke-dashoffset: 130;
animation: dash 1.5s 0s forwards infinite;
stroke-width:7px;
stroke-linecap:round;
stroke-linejoin:round;
}
We used animation dash (our animation from keyframe), 1.5s is the the operating time of our animation, then 0s comes from 0 delay. Inifite is used to run the animation infinitely.
A little below you can see our animation how it works.