Take advantage of beautiful design and create a website your business deserves.
This animation reveals each line of text with a smooth upward motion when it enters view.
[animate-lines] attribute.SplitText to break the text into individual lines.mask: "lines") to hide overflow.y: 155%), rotates slightly, and fades in.[animate-lines] to any text block you want to animate.start: "top center"
"top 80%" to start earlier.y: "155%"
rotateZ: 3
y controls how far lines move up.rotateZ adds a slight tilt.duration: 0.7
ease: "circ.out"
duration = faster animation.ease types like "power2.out" for a snappier feel.stagger: 0.1

<script>
document.querySelectorAll("[animate-lines]").forEach(el2 => {
let split2 = SplitText.create(el2, {
type: "lines",
mask: "lines",
linesClass: "line"
});
gsap.from(split2.lines, {
y: "155%",
autoSplit: true,
opacity: 1,
rotateZ: 3,
duration: 0.7,
ease: "circ.out",
stagger: 0.1,
scrollTrigger: {
trigger: el2,
start: "top center",
}
});
});
</script>