SVG Drawing Animation με CSS

Δημοσιεύθηκε 16/01/2022

Μερικές χρήσιμες συμβουλές, για να μπορέσουμε εύκολα να πετύχουμε το παρακάτω αποτέλεσμα, λεγόμενο ως SVG Drawing Animation.

Αρχικά, δημιούργησα με το γνωστό Pen tool, ένα σχέδιο και το αντέγραψα “ως SVG”.

Επικολλώντας το svg μέσα στο HTML είναι σημαντικό να δηλώσουμε ένα έξτρα attribute: pathLength=”1″, όπως το παράδειγμα:

<svg viewBox="0 0 706 130" fill="none" xmlns="http://www.w3.org/2000/svg">
   <path
      pathLength="1"
      d="M1 49C4.31267 .........."
      stroke="black"
   />
</svg>

Το pathLenght=”1″ μας βοηθάει ώστε να παίξουμε με τις τιμές 0 και 1 στο dashoffset χωρίς να απαιτεί να γνωρίζουμε το αληθινό path length του svg μας.

Στο css, γράφουμε τον παρακάτω κώδικα, και είμαστε έτοιμοι:

path {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    animation: svg_drawing 3.5s linear alternate infinite;
}

@keyframes svg_drawing {
    from {
        stroke-dashoffset: 1;
    }
    to {
        stroke-dashoffset: 0;
    }
}
SVG Drawing Animation with CSS
SVG Drawing Animation με CSS

Σχετικό άρθρο με SVG Animation: SVG on Scroll Animation

Ο κώδικας του παραδείγματος είναι ανεβασμένος στο Github