search ESC

Animations

Keyframe animation utilities — 30+ named animations, modifiers (duration, delay, easing, iteration, direction, fill, play-state), hover triggers, attention seekers, loading states, and scroll-triggered animations. Click any demo box to replay.

Base usage

Apply any .lp-animate-{name} class to play the animation. Click to replay.

fade-in
bounce-in
zoom-in
Fade
fade-in
fade-out
fade-in-up
fade-in-down
fade-in-left
fade-in-right
Slide
slide-in-up
slide-in-down
slide-in-left
slide-in-right
slide-out-up
slide-out-down
Scale & Zoom
scale-in
scale-out
scale-up
scale-down
zoom-in
zoom-out
Bounce, Shake & Wobble
bounce
bounce-in
bounce-out
shake
shake-horizontal
shake-vertical
wobble
Pulse, Heartbeat, Flash & Blink
pulse (infinite)
pulse-ring
heartbeat
flash
Spin & Flip
spin
spin-reverse
flip-x
flip-y
Expressive (swing, jello, tada, rubber-band, float, glow)
swing
jello
tada
rubber-band
float
glow
Duration modifiers

Combine any animation with .lp-animate-duration-{100..3000} or named .lp-animate-{faster|fast|normal|slow|slower}. Click to replay.

faster (200ms)
fast (400ms)
normal (600ms)
slow (1000ms)
slower (2000ms)
Delay modifiers

Stagger animations with .lp-animate-delay-{100..2000}. Click any to replay the full stagger.

delay 0
200ms
400ms
700ms
1000ms
Easing modifiers

Override timing with .lp-animate-{ease|ease-in|ease-out|ease-in-out|linear|bounce-ease|elastic|spring}.

linear
ease-in-out
bounce-ease
elastic
spring
Iteration, direction, fill & play-state
twice
thrice
alternate
pause-hover
Hover animate triggers

Hover any box — animations play without JS.

pulse
bounce
shake
swing
wobble
jello
tada
rubber-band
heartbeat
float
Hover transforms
hover-scale-up
hover-scale-down
hover-lift
Attention seekers (infinite)
pulse
bounce
shake
heartbeat
float
glow
Loading states
spin
pulse
bounce
Scroll-triggered

Add data-lp-component="animate-on-scroll" to any element with a .lp-scroll-fade-in-* class. Element fades in when it enters the viewport.

Scroll down ↓
scroll-fade-in-up
scroll-fade-in-left
scroll-fade-in-right
scroll-fade-in-down
CSS Reference
ClassDescription
.lp-animate-fade-{in|out|in-up|in-down|in-left|in-right}Fade animations
.lp-animate-slide-{in|out}-{up|down|left|right}Slide animations
.lp-animate-{scale-in|scale-out|scale-up|scale-down|zoom-in|zoom-out}Scale/zoom
.lp-animate-{bounce|bounce-in|bounce-out}Bounce family
.lp-animate-{shake|shake-horizontal|shake-vertical}Shake family
.lp-animate-{pulse|pulse-ring|heartbeat}Pulse family (infinite)
.lp-animate-{spin|spin-reverse}Spin (infinite)
.lp-animate-{flip-x|flip-y}3D flip
.lp-animate-{swing|wobble|jello|tada|rubber-band|flash|blink|float|glow}Expressive
.lp-animate-duration-{100..3000} / .lp-animate-{faster|fast|normal|slow|slower}Duration override
.lp-animate-delay-{100..2000}Animation delay
.lp-animate-{ease|ease-in|ease-out|ease-in-out|linear|bounce-ease|elastic|spring}Timing function
.lp-animate-{once|twice|thrice|infinite}Iteration count
.lp-animate-direction-{normal|reverse|alternate|alternate-reverse}Direction
.lp-animate-fill-{none|forwards|backwards|both}Fill mode
.lp-animate-{running|paused} / .lp-animate-pause-hoverPlay state
.lp-hover-animate-{pulse|bounce|shake|swing|wobble|jello|tada|rubber-band|heartbeat|float}Hover triggers
.lp-hover-{scale-up|scale-down|lift}Hover transforms
.lp-attention-{pulse|bounce|shake|heartbeat|float|glow|blink}Attention seekers
.lp-loading-{spin|pulse|bounce|dots}Loading indicators
.lp-scroll-fade-in-{up|down|left|right} + data-lp-component="animate-on-scroll"Scroll-triggered