Line Addition
CSSA neat document line shifts down to allow a new line with a plus sign to fade and slide in.
- Tier
- CSS
- Dependencies
- None
- Duration
- 5.5 s, loops
- Categories
- Icons and micro-interactions
- Use cases
- Success and confirmation, Documents and files
- Industries
- SaaS and software, Cross-industry
- Style
- Minimal line · light stroke
- Set
- changelog
- Tags
- lineloopminimalpulsetext
Companion assets
The same artwork, not animated. Derived from the entry’s own resting state, so it matches exactly.
Code
animation.svg
<svg xmlns="http://www.w3.org/2000/svg" fill="none" aria-hidden="true" class="pulsar pulsar-changelog-addition" data-pulsar="changelog-addition" viewBox="0 0 160 96"><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.2"><rect width="112" height="64" x="24" y="16" fill="currentColor" fill-opacity=".03" rx="4"></rect><line x1="24" x2="136" y1="28" y2="28" opacity=".3"></line><circle cx="32" cy="22" r="1.8" fill="currentColor" opacity=".5"></circle><circle cx="38" cy="22" r="1.8" fill="currentColor" opacity=".5"></circle><circle cx="44" cy="22" r="1.8" fill="currentColor" opacity=".5"></circle><line x1="36" x2="78" y1="38" y2="38" opacity=".5"></line><g id="changelog-addition-bottom-lines"><line x1="36" x2="94" y1="52" y2="52" opacity=".5"></line><line x1="36" x2="68" y1="62" y2="62" opacity=".35"></line></g></g><g id="changelog-addition-insert-group"><g stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-width="1.5"><line x1="40" x2="46" y1="48" y2="48"></line><line x1="43" x2="43" y1="45" y2="51"></line></g><line x1="52" x2="116" y1="48" y2="48" stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-width="1.8"></line><rect width="92" height="12" x="34" y="42" fill="var(--pulsar-accent, currentColor)" fill-opacity=".1" rx="2"></rect></g></svg>
animation.css
.pulsar-changelog-addition #changelog-addition-bottom-lines {
animation: changelog-addition-shift 5500ms cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes changelog-addition-shift {
0%,
25% {
transform: translateY(0);
}
35%,
82% {
transform: translateY(10px);
}
92%,
100% {
transform: translateY(0);
}
}
.pulsar-changelog-addition #changelog-addition-insert-group {
animation: changelog-addition-slide-in 5500ms cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes changelog-addition-slide-in {
0%,
28% {
opacity: 0;
transform: translate(-10px, -4px);
}
38%,
80% {
opacity: 1;
transform: translate(0, 0);
}
90%,
100% {
opacity: 0;
transform: translate(0, 0);
}
}
@media (prefers-reduced-motion: reduce) {
.pulsar-changelog-addition * {
animation: none !important;
}
}