$ cat gsap-clearprops-hover.mdx
GSAP blockiert CSS-Hover-Transforms — clearProps räumt auf
gsapcssanimation
Nach einem abgeschlossenen Tween lässt GSAP seine Inline-Styles am Element
stehen — unter anderem translate: none. Das überschreibt jede
CSS-Hover-Transform (auf dieser Seite: der Karten-Lift
motion-safe:hover:-translate-y-0.5), weil Inline-Styles vor Klassen
gewinnen.
Die Lösung ist eingebaut: clearProps entfernt die Inline-Styles, sobald
die Animation fertig ist.
gsap.to(heroItems, {
opacity: 1,
y: 0,
duration: 0.7,
ease: "power2.out",
stagger: 0.09,
delay: 0.1,
// Inline-Styles entfernen, sobald fertig — GSAP setzt sonst u. a.
// `translate: none` inline und blockiert CSS-Hover-Transforms
onComplete: () => gsap.set(heroItems, { clearProps: "all" }),
});Gefunden beim Feinschliff der Scroll-Reveals: Karten faden korrekt ein,
aber der Hover-Lift war danach tot. Die Reveals machen es deshalb genauso
(dort heißt die Gruppe batch) — festgehalten als Kommentar direkt an
beiden onComplete-Hooks in components/page-animations.tsx.