No animations match your search in this category.
The code for all 10 entrances, explained
Every effect above, with the markup to use and the complete CSS. Each one is self-contained: paste the CSS once, add the class, done.
Fade In
The workhorse of UI motion. Animates opacity only — the cheapest property a browser can animate.
Markup
<div class="fh-fade-in">Your content</div>
CSS
.fh-fade-in {
animation: fh-fadeIn 0.8s ease-out both;
}
@keyframes fh-fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
Fade In Up
The most common scroll-reveal entrance. Pair it with an IntersectionObserver to trigger when the element scrolls into view.
Markup
<div class="fh-fade-in-up">Your content</div>
CSS
.fh-fade-in-up {
animation: fh-fadeInUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes fh-fadeInUp {
from { opacity: 0; transform: translateY(28px); }
to { opacity: 1; transform: translateY(0); }
}
Fade In Down
Natural for dropdown menus, toasts and notification banners that enter from the top.
Markup
<div class="fh-fade-in-down">Your content</div>
CSS
.fh-fade-in-down {
animation: fh-fadeInDown 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes fh-fadeInDown {
from { opacity: 0; transform: translateY(-28px); }
to { opacity: 1; transform: translateY(0); }
}
Fade In Left
Good for sidebars and staggered list items. Stagger with animation-delay: 0.05s per item.
Markup
<div class="fh-fade-in-left">Your content</div>
CSS
.fh-fade-in-left {
animation: fh-fadeInLeft 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes fh-fadeInLeft {
from { opacity: 0; transform: translateX(-32px); }
to { opacity: 1; transform: translateX(0); }
}
Fade In Right
Mirror of Fade In Left — ideal for right-hand drawers and chat panels.
Markup
<div class="fh-fade-in-right">Your content</div>
CSS
.fh-fade-in-right {
animation: fh-fadeInRight 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes fh-fadeInRight {
from { opacity: 0; transform: translateX(32px); }
to { opacity: 1; transform: translateX(0); }
}
Zoom In
A classic for modals and image lightboxes. Scale + opacity both run on the GPU compositor.
Markup
<div class="fh-zoom-in">Your content</div>
CSS
.fh-zoom-in {
animation: fh-zoomIn 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes fh-zoomIn {
from { opacity: 0; transform: scale(0.6); }
to { opacity: 1; transform: scale(1); }
}
Bounce In
The overshoot gives a playful, springy feel. Great for success states, badges and empty-state illustrations.
Markup
<div class="fh-bounce-in">Your content</div>
CSS
.fh-bounce-in {
animation: fh-bounceIn 0.75s cubic-bezier(0.68, -0.55, 0.265, 1.55) both;
}
@keyframes fh-bounceIn {
0% { opacity: 0; transform: scale(0.3); }
50% { opacity: 1; transform: scale(1.05); }
70% { transform: scale(0.92); }
100% { opacity: 1; transform: scale(1); }
}
Flip In X
A 3D flip around the horizontal axis. The perspective() value controls how dramatic the depth feels.
Markup
<div class="fh-flip-in-x">Your content</div>
CSS
.fh-flip-in-x {
animation: fh-flipInX 0.8s ease-out both;
}
@keyframes fh-flipInX {
0% { opacity: 0; transform: perspective(600px) rotateX(90deg); }
40% { transform: perspective(600px) rotateX(-18deg); }
70% { transform: perspective(600px) rotateX(8deg); }
100% { opacity: 1; transform: perspective(600px) rotateX(0); }
}
Blur In
A cinematic focus-pull. filter: blur() is heavier than transform, so reserve it for hero moments, not lists.
Markup
<div class="fh-blur-in">Your content</div>
CSS
.fh-blur-in {
animation: fh-blurIn 0.9s ease-out both;
}
@keyframes fh-blurIn {
from { opacity: 0; filter: blur(12px); }
to { opacity: 1; filter: blur(0); }
}
Roll In
High-energy entrance for playful brands. Use sparingly — one rolling element per view is plenty.
Markup
<div class="fh-roll-in">Your content</div>
CSS
.fh-roll-in {
animation: fh-rollIn 0.8s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes fh-rollIn {
from { opacity: 0; transform: translateX(-60px) rotate(-120deg); }
to { opacity: 1; transform: translateX(0) rotate(0); }
}