Skip to content

text-blur

The blur family splits the element into characters and fades each one in while a CSS blur filter dissipates. The plain variant has no positional offset; directional variants add an offset so characters drift into place behind the blur.

text-blur-up / text-blur-down are line-masked — characters slide vertically by 110% of their own height and are clipped by their parent line. text-blur-left / text-blur-right slide horizontally by 30 × distance pixels.

VariantBlur amountOffset
text-blur20pxnone
text-blur-up10pxtranslateY 110% from below (line-masked)
text-blur-down10pxtranslateY 110% from above (line-masked)
text-blur-left10pxtranslateX 30 × distance from the right
text-blur-right10pxtranslateX 30 × distance from the left
AttributeDefaultNotes
aa-animate(required)One of the variants above.
aa-splitcharsOverride split mode.
aa-stagger0.02Seconds between parts.
aa-duration(init)Seconds.
aa-delay0Seconds.
aa-distance1Multiplier on the horizontal offset (left/right).
aa-ease(init)Any GSAP ease.
aa-scrub(off)true or seconds — bind progress to scroll.

gsap, ScrollTrigger, SplitText.

text-blur

A short hero line

A two-line subhead that wraps onto a second line to show per-line behaviour.

A three-line paragraph of body copy so we can see how the animation reads at a longer scale, with several lines of text wrapping naturally across the page width.

scrubbed (aa-scrub="1")

Tied to scroll.
Watch the easing.
Feel each beat.

text-blur-up

A short hero line

A two-line subhead that wraps onto a second line to show per-line behaviour.

A three-line paragraph of body copy so we can see how the animation reads at a longer scale, with several lines of text wrapping naturally across the page width.

scrubbed (aa-scrub="1")

Tied to scroll.
Watch the easing.
Feel each beat.

text-blur-down

A short hero line

A two-line subhead that wraps onto a second line to show per-line behaviour.

A three-line paragraph of body copy so we can see how the animation reads at a longer scale, with several lines of text wrapping naturally across the page width.

scrubbed (aa-scrub="1")

Tied to scroll.
Watch the easing.
Feel each beat.

text-blur-left

A short hero line

A two-line subhead that wraps onto a second line to show per-line behaviour.

A three-line paragraph of body copy so we can see how the animation reads at a longer scale, with several lines of text wrapping naturally across the page width.

scrubbed (aa-scrub="1")

Tied to scroll.
Watch the easing.
Feel each beat.

text-blur-right

A short hero line

A two-line subhead that wraps onto a second line to show per-line behaviour.

A three-line paragraph of body copy so we can see how the animation reads at a longer scale, with several lines of text wrapping naturally across the page width.

scrubbed (aa-scrub="1")

Tied to scroll.
Watch the easing.
Feel each beat.