Compare Wipe
CSSA vertical line sweeps across a page split screen from left to right, transitioning the text lines from a draft layout to a finished layout.
- Tier
- CSS
- Dependencies
- None
- Duration
- 4 s, loops
- Categories
- Transitions and reveals
- Use cases
- Documents and files, Transitions and reveals
- Industries
- Legal, Cross-industry
- Style
- Technical · light stroke
- Set
- redline
- Tags
- wipelineminimalone-shot
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-redline-compare-wipe" data-pulsar="redline-compare-wipe" viewBox="0 0 160 96"><g class="draft-side"><line x1="16" x2="72" y1="28" y2="28" stroke="currentColor" stroke-dasharray="6 3" stroke-linecap="round" stroke-width="1.75" opacity=".4"></line><line x1="16" x2="68" y1="40" y2="40" stroke="currentColor" stroke-dasharray="6 3" stroke-linecap="round" stroke-width="1.75" opacity=".4"></line><line x1="16" x2="64" y1="52" y2="52" stroke="currentColor" stroke-dasharray="6 3" stroke-linecap="round" stroke-width="1.75" opacity=".4"></line><line x1="16" x2="72" y1="64" y2="64" stroke="currentColor" stroke-dasharray="6 3" stroke-linecap="round" stroke-width="1.75" opacity=".4"></line></g><g class="final-side"><line x1="16" x2="72" y1="28" y2="28" stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-width="1.75"></line><line x1="16" x2="60" y1="40" y2="40" stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-width="1.75"></line><line x1="16" x2="70" y1="52" y2="52" stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-width="1.75"></line><line x1="16" x2="55" y1="64" y2="64" stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-width="1.75"></line></g><g stroke="currentColor" class="divider-col" opacity=".3"><line x1="80" x2="80" y1="20" y2="76"></line></g><g stroke="currentColor" stroke-linecap="round" stroke-width="1.75" class="right-side" opacity=".7"><line x1="88" x2="144" y1="28" y2="28"></line><line x1="88" x2="136" y1="40" y2="40"></line><line x1="88" x2="140" y1="52" y2="52"></line><line x1="88" x2="128" y1="64" y2="64"></line></g><line x1="16" x2="16" y1="18" y2="78" stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-width="2" class="sweep-line"></line></svg>
animation.css
.pulsar-redline-compare-wipe {
display: block;
width: 100%;
height: 100%;
}
.pulsar-redline-compare-wipe .sweep-line {
animation: redline-compare-wipe-sweep 4s ease-in-out infinite;
}
.pulsar-redline-compare-wipe .final-side {
clip-path: inset(0 100% 0 0);
animation: redline-compare-wipe-reveal 4s ease-in-out infinite;
}
@keyframes redline-compare-wipe-sweep {
0%,
10% {
transform: translateX(0);
opacity: 0;
}
15% {
opacity: 1;
}
80% {
transform: translateX(120px);
opacity: 1;
}
95%,
100% {
transform: translateX(120px);
opacity: 0;
}
}
@keyframes redline-compare-wipe-reveal {
0%,
10% {
clip-path: inset(0 100% 0 0);
}
80%,
95% {
clip-path: inset(0 0% 0 0);
}
100% {
clip-path: inset(0 100% 0 0);
}
}
@media (prefers-reduced-motion: reduce) {
.pulsar-redline-compare-wipe .sweep-line,
.pulsar-redline-compare-wipe .final-side {
animation: none;
transform: none;
clip-path: none;
opacity: 0.7;
}
}