No, I don't think it's a bug. You set the start to "top top" but you never defined a trigger element, so it defaults to <body> but since the contents have a margin on the first element, the getClientBoundingRect() is about 16px from the top of the viewport, thus the ScrollTrigger's "start" value is 16 (because that's when the top of its content hits the top of the viewport). Your code is assuming it's 0. You could just set start: 0, end: "max".    Does that clear things up? 
    • Thanks
    • Like
    3