Search code examples
csssvgcore-animationsvg-animate

stroke-dashoffset not working with SVG


i am new to SVG and animation. just created a path and wanted to draw it with animation, i am using "stroke-dashoffset" but its not working. Here is my HTML :

<div class="Q">
    <svg height="100%" width="100%" viewBox="200 0 400 400">


    <path id="latter_q" d="M1003.3425022861358,2828.211816939241a655.718421,655.718421,0,1,1,-397.5557043956452,543.2070169791295" style="fill: none; stroke-width: 300px; stroke-linecap: round;" transform="matrix(-0.220662 -0.00474159 0.00474159 -0.220662 452.115 953.136)" stroke="purple"/>

    <circle id="e4_circle" cx="322" cy="293" stroke="purple" style="stroke-width: 1px; vector-effect: non-scaling-stroke;" r="38.1936" fill="purple" />

    <polygon stroke="purple" id="e5_polygon" style="stroke-width: 1px;" points="625.5 543.206 885.5 7.20558 1149.5 535.206 1021.5 481.206 889.5 225.206 767.5 481.206" fill="purple" transform="matrix(0.618136 0 0 0.618136 -4.20822 17.3249)"/>
    </svg>
</div>

and CSS

#latter_q{

    animation: DrwaQ 2s linear alternate infinite;
    animation-delay: 1s;
    /*stroke-dashArray: 1100;*/
    stroke-dashoffset: 1100;
    }


    .Q{
    width: 100%;
    height: 100%;
    position: absolute;


 /*opacity: 0;*/

    }

    @keyframes DrawQ {
        to { stroke-dashOffset: 0; }
    }

Solution

  • finally got it worked.

    CSS :

    #latter_q{
        animation: DrwaQ 2s ease-in ;
        animation-delay: 0s;
        stroke-dasharray: 3435;
        }
    
        @keyframes DrwaQ {
            to {
            stroke-dashoffset: 6904;
            }
            from {
    
            stroke-dashoffset: 3447;
            }
        }