任意svg图标实现描边动画

发布时间 2023-07-21 09:06:35作者: 看风景就
<style>
    .ani{
        stroke: lightblue;
        stroke-width: 5;
        stroke-dasharray: var(--l);
        stroke-dashoffset: var(--l);
        animation: stroke 2s forwards;
        stroke-linecap: round;
    }

    @keyframes stroke {
        to {
            stroke-dashoffset: 0;
        }
    }
</style>

<script>
    let sel = 'sel-svg';
    let paths = doucment.querySelectorAll(sel + ' path');

    paths.forEach(p => {
        let len = p.getTotalLength();
        path.classList.add('ani');
        path.style.setProperty('--l', len);
    })
</script>