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

如何实现SVG从左上角到右下角的动画效果,与指定gif动效一致

你现在的代码使用的是填充色整体淡入逻辑,无法实现从左上到右下的扫描式显现效果,我们可以通过CSS遮罩(mask)实现对角线扫过的动效,修改方案如下:

修改后的完整CSS代码

body {
  background: black
}

path {
  fill: white;
}

.svg-wrapper svg {
  /* 定义135度线性渐变遮罩,对应左上到右下的对角线方向 */
  mask-image: linear-gradient(135deg, #000 50%, transparent 50%);
  mask-size: 250% 250%;
  /* 初始遮罩位置:透明段完全覆盖SVG,字母隐藏 */
  mask-position: 100% 100%;
  /* 兼容Webkit内核浏览器 */
  -webkit-mask-image: linear-gradient(135deg, #000 50%, transparent 50%);
  -webkit-mask-size: 250% 250%;
  -webkit-mask-position: 100% 100%;
  /* 遮罩位置过渡时长,可按需调整动画速度 */
  transition: mask-position 1s ease, -webkit-mask-position 1s ease;
}

/* hover时遮罩移动,不透明段从左上向右下扫过,字母逐步显示 */
.svg-wrapper:hover svg {
  mask-position: 0% 0%;
  -webkit-mask-position: 0% 0%;
}

HTML代码无需修改,保持原有代码即可。


实现原理

  • 135度的线性渐变遮罩刚好匹配左上到右下的扫描方向,渐变前半段不透明(显示内容)、后半段透明(隐藏内容)
  • 遮罩尺寸设为250%,保证渐变的黑白分界可以完整扫过整个SVG区域
  • 动画过程中分界斜向移动,扫到的区域字母就会显现,完全匹配目标动效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 20:45:05