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>