Comment Expand
CSSA tiny circular text anchor expands horizontally into a rectangular callout box containing two pulsing text line drafts.
- Tier
- CSS
- Dependencies
- None
- Duration
- 4 s, loops
- Categories
- Transitions and reveals
- Use cases
- Collaboration, Transitions and reveals
- Industries
- Legal, Cross-industry
- Style
- Technical · light stroke
- Set
- redline
- Tags
- scalegeometriclineone-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-comment-expand" data-pulsar="redline-comment-expand" viewBox="0 0 160 96"><g stroke="currentColor" stroke-width="1.25" class="anchor-line" opacity=".3"><line x1="20" x2="56" y1="48" y2="48" stroke-linecap="round"></line></g><g class="callout-box"><rect width="88" height="44" x="56" y="26" stroke="var(--pulsar-accent, currentColor)" stroke-width="1.5" rx="4"></rect><path stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m56 44-6 4 6 4"></path><line x1="66" x2="134" y1="38" y2="38" stroke="currentColor" stroke-linecap="round" stroke-width="1.75"></line><line x1="66" x2="122" y1="50" y2="50" stroke="currentColor" stroke-linecap="round" stroke-width="1.75"></line><line x1="66" x2="116" y1="62" y2="62" stroke="currentColor" stroke-linecap="round" stroke-width="1.75"></line></g><circle cx="56" cy="48" r="4" stroke="var(--pulsar-accent, currentColor)" stroke-width="1.5" class="anchor-dot"></circle></svg>
animation.css
.pulsar-redline-comment-expand {
display: block;
width: 100%;
height: 100%;
}
.pulsar-redline-comment-expand .callout-box {
transform-origin: 56px 48px;
animation: redline-comment-expand-unfold 4s ease-in-out infinite;
}
.pulsar-redline-comment-expand .anchor-dot {
animation: redline-comment-expand-anchor 4s ease-in-out infinite;
}
@keyframes redline-comment-expand-unfold {
0%,
5% {
transform: scaleX(0);
opacity: 0;
}
10% {
opacity: 1;
}
40%,
75% {
transform: scaleX(1);
opacity: 1;
}
90%,
100% {
transform: scaleX(0);
opacity: 0;
}
}
@keyframes redline-comment-expand-anchor {
0%,
5% {
transform: scale(1.5);
opacity: 1;
}
15%,
85% {
transform: scale(1);
opacity: 0.8;
}
95%,
100% {
transform: scale(1.5);
opacity: 0.3;
}
}
@media (prefers-reduced-motion: reduce) {
.pulsar-redline-comment-expand .callout-box,
.pulsar-redline-comment-expand .anchor-dot {
animation: none;
transform: none;
opacity: 0.8;
}
}