不依赖 SplitText:把每个字包一层 overflow:hidden,内层做 yPercent 滑入,就是常见的「揭字」。

motion as a craft — 手工拆字同样能做品牌站首屏

text.split("").forEach((ch) => {
  const wrap = document.createElement("span");
  wrap.className = "char";
  wrap.innerHTML = "<span>" + (ch === " " ? "&nbsp;" : ch) + "</span>";
  line.appendChild(wrap);
});
gsap.from(".char span", {
  yPercent: 110,
  duration: 0.9,
  ease: "power4.out",
  stagger: 0.03
});