You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无限交替CSS SVG文字动画结束后出现未知延迟问题求助

解决SVG文字描边交替动画的延迟问题

你的问题出在alternate动画模式搭配ease-in-out缓动的组合上——ease-in-out会让动画在接近首尾关键帧时减速到0,加上alternate切换方向时的默认行为,就会导致正向动画结束后,反向启动前出现明显的停顿延迟。

下面是两种可行的修复方案:

方案一:替换缓动函数

把ease-in-out换成linear,让动画全程保持匀速,消除首尾的减速停顿:

svg text {
    fill: rgb(188, 188, 188);
    stroke: black;
    stroke-width: 0.5;
    stroke-dasharray: 125;
    stroke-dashoffset: 0;
    letter-spacing: 3px;
    /* 替换为linear缓动 */
    animation: 2s infinite alternate linear animate-name;
}

@keyframes animate-name {
    100% {
        stroke-dashoffset: 125;
    }
}

方案二:手动定义往返关键帧

放弃alternate自动反向,直接在关键帧里写完整的往返逻辑,彻底掌控动画节奏:

svg text {
    fill: rgb(188, 188, 188);
    stroke: black;
    stroke-width: 0.5;
    stroke-dasharray: 125;
    stroke-dashoffset: 0;
    letter-spacing: 3px;
    /* 去掉alternate,用linear缓动 */
    animation: 2s infinite linear animate-name;
}

@keyframes animate-name {
    0% {
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dashoffset: 125;
    }
    100% {
        stroke-dashoffset: 0;
    }
}

额外提示

可以通过浏览器开发者工具(比如Chrome的Elements面板)查看SVG文本的实际描边总长度,把stroke-dasharray和stroke-dashoffset的数值改成真实长度,动画会更精准流畅。

内容的提问来源于stack exchange,提问作者Guilherme Silva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 00:50:17