Grid
CSSA wide rectangular grid of fine lines with small crosshairs at each intersection that gently blink in a diagonal wave across the background.
- Tier
- CSS
- Dependencies
- None
- Duration
- 4.2 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
- gridambientgeometricminimalline
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-grid" data-pulsar="perimeter-grid" viewBox="0 0 160 96"><line x1="20" x2="140" y1="20" y2="20" stroke="currentColor" opacity=".15"></line><line x1="20" x2="140" y1="38" y2="38" stroke="currentColor" opacity=".15"></line><line x1="20" x2="140" y1="58" y2="58" stroke="currentColor" opacity=".15"></line><line x1="20" x2="140" y1="76" y2="76" stroke="currentColor" opacity=".15"></line><line x1="20" x2="20" y1="16" y2="80" stroke="currentColor" opacity=".15"></line><line x1="44" x2="44" y1="16" y2="80" stroke="currentColor" opacity=".15"></line><line x1="68" x2="68" y1="16" y2="80" stroke="currentColor" opacity=".15"></line><line x1="92" x2="92" y1="16" y2="80" stroke="currentColor" opacity=".15"></line><line x1="116" x2="116" y1="16" y2="80" stroke="currentColor" opacity=".15"></line><line x1="140" x2="140" y1="16" y2="80" stroke="currentColor" opacity=".15"></line><g class="perimeter-grid-wave-1"><path stroke="currentColor" d="M18 20h4m-2-2v4"></path></g><g class="perimeter-grid-wave-2"><path stroke="currentColor" d="M42 20h4m-2-2v4M18 38h4m-2-2v4"></path></g><g class="perimeter-grid-wave-3"><path stroke="currentColor" d="M66 20h4m-2-2v4M42 38h4m-2-2v4M18 58h4m-2-2v4"></path></g><g class="perimeter-grid-wave-4"><path stroke="var(--pulsar-accent, currentColor)" stroke-width="1.25" d="M90 20h4m-2-2v4M66 38h4m-2-2v4M42 58h4m-2-2v4M18 76h4m-2-2v4"></path></g><g class="perimeter-grid-wave-5"><path stroke="var(--pulsar-accent, currentColor)" stroke-width="1.25" d="M114 20h4m-2-2v4M90 38h4m-2-2v4M66 58h4m-2-2v4M42 76h4m-2-2v4"></path></g><g class="perimeter-grid-wave-6"><path stroke="currentColor" d="M138 20h4m-2-2v4m-26 16h4m-2-2v4M90 58h4m-2-2v4M66 76h4m-2-2v4"></path></g><g class="perimeter-grid-wave-7"><path stroke="currentColor" d="M138 38h4m-2-2v4m-26 18h4m-2-2v4M90 76h4m-2-2v4"></path></g><g class="perimeter-grid-wave-8"><path stroke="currentColor" d="M138 58h4m-2-2v4m-26 16h4m-2-2v4"></path></g><g class="perimeter-grid-wave-9"><path stroke="currentColor" d="M138 76h4m-2-2v4"></path></g></svg>
animation.css
.pulsar-perimeter-grid {
display: block;
overflow: visible;
}
.pulsar-perimeter-grid .perimeter-grid-wave-1 {
animation: perimeter-grid-wave-anim 4200ms ease infinite -3733ms;
}
.pulsar-perimeter-grid .perimeter-grid-wave-2 {
animation: perimeter-grid-wave-anim 4200ms ease infinite -3266ms;
}
.pulsar-perimeter-grid .perimeter-grid-wave-3 {
animation: perimeter-grid-wave-anim 4200ms ease infinite -2800ms;
}
.pulsar-perimeter-grid .perimeter-grid-wave-4 {
animation: perimeter-grid-wave-anim 4200ms ease infinite -2333ms;
}
.pulsar-perimeter-grid .perimeter-grid-wave-5 {
animation: perimeter-grid-wave-anim 4200ms ease infinite -1866ms;
}
.pulsar-perimeter-grid .perimeter-grid-wave-6 {
animation: perimeter-grid-wave-anim 4200ms ease infinite -1400ms;
}
.pulsar-perimeter-grid .perimeter-grid-wave-7 {
animation: perimeter-grid-wave-anim 4200ms ease infinite -933ms;
}
.pulsar-perimeter-grid .perimeter-grid-wave-8 {
animation: perimeter-grid-wave-anim 4200ms ease infinite -466ms;
}
.pulsar-perimeter-grid .perimeter-grid-wave-9 {
animation: perimeter-grid-wave-anim 4200ms ease infinite 0ms;
}
@keyframes perimeter-grid-wave-anim {
0%,
100% {
opacity: 0.25;
}
30% {
opacity: 1;
}
60% {
opacity: 0.25;
}
}
@media (prefers-reduced-motion: reduce) {
.pulsar-perimeter-grid .perimeter-grid-wave-1,
.pulsar-perimeter-grid .perimeter-grid-wave-2,
.pulsar-perimeter-grid .perimeter-grid-wave-3,
.pulsar-perimeter-grid .perimeter-grid-wave-4,
.pulsar-perimeter-grid .perimeter-grid-wave-5,
.pulsar-perimeter-grid .perimeter-grid-wave-6,
.pulsar-perimeter-grid .perimeter-grid-wave-7,
.pulsar-perimeter-grid .perimeter-grid-wave-8,
.pulsar-perimeter-grid .perimeter-grid-wave-9 {
animation: none;
}
}