Pulsar

Compare Wipe

CSS

A 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.

Animated
CSS tier
Static vector
Compare Wipe, not animated
Download SVG

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;
  }
}

From this family15 in Redline

See the family