Radar
CSSA set of three concentric fine-line circles centered on a tiny crosshair, with a radial sweeping vector line revolving slowly to reveal faint pulsing dots on its path.
- Tier
- CSS
- Dependencies
- None
- Duration
- 4.8 s, loops
- Categories
- Backgrounds and ambient
- Use cases
- Security and trust, Ambient background
- Industries
- Security and identity, Cross-industry
- Style
- Technical · light stroke
- Set
- perimeter
- Tags
- circlepulserotateambientminimal
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-perimeter-radar" data-pulsar="perimeter-radar" viewBox="0 0 160 96"><line x1="32" x2="128" y1="48" y2="48" stroke="currentColor" stroke-dasharray="2 4" opacity=".25"></line><line x1="80" x2="80" y1="8" y2="88" stroke="currentColor" stroke-dasharray="2 4" opacity=".25"></line><circle cx="80" cy="48" r="1.5" fill="currentColor" opacity=".6"></circle><circle cx="80" cy="48" r="16" stroke="currentColor" opacity=".3"></circle><circle cx="80" cy="48" r="28" stroke="currentColor" opacity=".35"></circle><circle cx="80" cy="48" r="40" stroke="currentColor" stroke-dasharray="4 2" opacity=".5"></circle><line x1="80" x2="80" y1="6" y2="10" stroke="currentColor" opacity=".6"></line><line x1="80" x2="80" y1="86" y2="90" stroke="currentColor" opacity=".6"></line><line x1="38" x2="42" y1="48" y2="48" stroke="currentColor" opacity=".6"></line><line x1="118" x2="122" y1="48" y2="48" stroke="currentColor" opacity=".6"></line><circle cx="98" cy="34" r="2.5" fill="var(--pulsar-accent, currentColor)" class="perimeter-radar-blip-1"></circle><circle cx="64" cy="58" r="2" fill="var(--pulsar-accent, currentColor)" class="perimeter-radar-blip-2"></circle><circle cx="88" cy="70" r="2" fill="var(--pulsar-accent, currentColor)" class="perimeter-radar-blip-3"></circle><g class="perimeter-radar-sweep"><line x1="80" x2="80" y1="48" y2="8" stroke="var(--pulsar-accent, currentColor)" stroke-width="1.5" opacity=".9"></line><path fill="var(--pulsar-accent, currentColor)" fill-opacity=".12" d="M80 48V8a40 40 0 0 1 28 11Z"></path></g></svg>
animation.css
.pulsar-perimeter-radar {
display: block;
overflow: visible;
}
.pulsar-perimeter-radar .perimeter-radar-sweep {
animation: perimeter-radar-sweep-anim 4800ms linear infinite;
transform-origin: 80px 48px;
}
.pulsar-perimeter-radar .perimeter-radar-blip-1 {
animation: perimeter-radar-blip1-anim 4800ms ease infinite;
}
.pulsar-perimeter-radar .perimeter-radar-blip-2 {
animation: perimeter-radar-blip2-anim 4800ms ease infinite;
}
.pulsar-perimeter-radar .perimeter-radar-blip-3 {
animation: perimeter-radar-blip3-anim 4800ms ease infinite;
}
@keyframes perimeter-radar-sweep-anim {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes perimeter-radar-blip1-anim {
0%,
10% {
opacity: 1;
transform: scale(1.2);
}
30%,
100% {
opacity: 0.15;
transform: scale(0.8);
}
}
@keyframes perimeter-radar-blip2-anim {
0%,
45% {
opacity: 0.15;
transform: scale(0.8);
}
55%,
65% {
opacity: 1;
transform: scale(1.2);
}
85%,
100% {
opacity: 0.15;
transform: scale(0.8);
}
}
@keyframes perimeter-radar-blip3-anim {
0%,
65% {
opacity: 0.15;
transform: scale(0.8);
}
75%,
85% {
opacity: 1;
transform: scale(1.2);
}
100% {
opacity: 0.15;
transform: scale(0.8);
}
}
@media (prefers-reduced-motion: reduce) {
.pulsar-perimeter-radar .perimeter-radar-sweep,
.pulsar-perimeter-radar .perimeter-radar-blip-1,
.pulsar-perimeter-radar .perimeter-radar-blip-2,
.pulsar-perimeter-radar .perimeter-radar-blip-3 {
animation: none;
}
}