Entrances
Slide In Right Animation
Enters from the right edge with no fade.
Opens with this animation loaded. Nothing is uploaded — the scene travels in the link.
.slide-in-right {
transform: translate3d(130px, 90px, 0);
box-shadow: 0px 10px 30px 0px #00000059;
width: 220px;
height: 140px;
background: #1c1e2a;
border-radius: 18px;
color: #e7e9ee;
font-size: 14px;
animation: slide-in-right-anim 600ms linear 0ms infinite both;
will-change: transform, opacity;
}
@keyframes slide-in-right-anim {
0% {
transform: translate3d(430px, 90px, 0);
animation-timing-function: ease-out;
}
100% {
transform: translate3d(130px, 90px, 0);
}
}
@media (prefers-reduced-motion: reduce) {
.slide-in-right {
animation: none;
transition: none;
}
}Why it is built this way
Pair this with a slide-out in the same direction. An element that enters from the right and leaves to the left implies it was pushed along by something else, which is rarely what you mean.
What it animates
1 property across 1 CSS declaration. The bar shows when each one is moving.
transformWhat it costs to run
X is handled by the compositor: no layout, no repaint, and the work can run off the main thread. This is the cheap end of CSS animation, which is why it stays smooth on a slow phone where other properties will not.
It runs for 0.60s across 2 keyframe stops, with every property moving over the same window.
One curve throughout: Ease Out on a card. Keeping a single easing across every property is what makes a multi-property animation read as one movement rather than several things happening at once.
Accessibility
Nothing here hides content — x moves over 0.60s and the element is visible throughout. The exported prefers-reduced-motion guard still silences it, which matters most for the looping ones: motion that never stops is the kind that makes people feel unwell.