Fence
CSSA vertical column of stacked chevron brackets pointing outward, with a single bright light pulse traversing up and down the spine of the column.
- Tier
- CSS
- Dependencies
- None
- Duration
- 4 s, loops
- Categories
- Backgrounds and ambient
- Use cases
- Security and trust, Ambient background
- Industries
- SaaS and software, Security and identity
- Style
- Technical · light stroke
- Set
- perimeter
- Tags
- arrowbarsambientpulsestroke
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-fence" data-pulsar="perimeter-fence" viewBox="0 0 160 96"><line x1="80" x2="80" y1="12" y2="84" stroke="currentColor" opacity=".4"></line><g class="perimeter-fence-pair-1"><path stroke="currentColor" stroke-width="1.25" d="m74 18-6 4 6 4"></path><path stroke="currentColor" stroke-width="1.25" d="m86 18 6 4-6 4"></path></g><g class="perimeter-fence-pair-2"><path stroke="currentColor" stroke-width="1.25" d="m74 30-6 4 6 4"></path><path stroke="currentColor" stroke-width="1.25" d="m86 30 6 4-6 4"></path></g><g class="perimeter-fence-pair-3"><path stroke="var(--pulsar-accent, currentColor)" stroke-width="1.5" d="m74 42-6 4 6 4"></path><path stroke="var(--pulsar-accent, currentColor)" stroke-width="1.5" d="m86 42 6 4-6 4"></path></g><g class="perimeter-fence-pair-4"><path stroke="var(--pulsar-accent, currentColor)" stroke-width="1.5" d="m74 54-6 4 6 4"></path><path stroke="var(--pulsar-accent, currentColor)" stroke-width="1.5" d="m86 54 6 4-6 4"></path></g><g class="perimeter-fence-pair-5"><path stroke="currentColor" stroke-width="1.25" d="m74 66-6 4 6 4"></path><path stroke="currentColor" stroke-width="1.25" d="m86 66 6 4-6 4"></path></g><g class="perimeter-fence-pulse"><circle cx="80" cy="48" r="3" fill="var(--pulsar-accent, currentColor)"></circle><line x1="72" x2="88" y1="48" y2="48" stroke="var(--pulsar-accent, currentColor)" stroke-width="1.5"></line></g></svg>
animation.css
.pulsar-perimeter-fence {
display: block;
overflow: visible;
}
.pulsar-perimeter-fence .perimeter-fence-pulse {
animation: perimeter-fence-pulse-anim 4000ms ease-in-out infinite;
}
.pulsar-perimeter-fence .perimeter-fence-pair-1 {
animation: perimeter-fence-pair-anim 4000ms ease infinite -3200ms;
}
.pulsar-perimeter-fence .perimeter-fence-pair-2 {
animation: perimeter-fence-pair-anim 4000ms ease infinite -2400ms;
}
.pulsar-perimeter-fence .perimeter-fence-pair-3 {
animation: perimeter-fence-pair-anim 4000ms ease infinite -1600ms;
}
.pulsar-perimeter-fence .perimeter-fence-pair-4 {
animation: perimeter-fence-pair-anim 4000ms ease infinite -800ms;
}
.pulsar-perimeter-fence .perimeter-fence-pair-5 {
animation: perimeter-fence-pair-anim 4000ms ease infinite 0ms;
}
@keyframes perimeter-fence-pulse-anim {
0%,
100% {
transform: translateY(-28px);
}
50% {
transform: translateY(28px);
}
}
@keyframes perimeter-fence-pair-anim {
0%,
100% {
opacity: 0.3;
transform: scale(0.95);
}
30% {
opacity: 1;
transform: scale(1.1);
}
60% {
opacity: 0.3;
transform: scale(0.95);
}
}
@media (prefers-reduced-motion: reduce) {
.pulsar-perimeter-fence .perimeter-fence-pulse,
.pulsar-perimeter-fence .perimeter-fence-pair-1,
.pulsar-perimeter-fence .perimeter-fence-pair-2,
.pulsar-perimeter-fence .perimeter-fence-pair-3,
.pulsar-perimeter-fence .perimeter-fence-pair-4,
.pulsar-perimeter-fence .perimeter-fence-pair-5 {
animation: none;
}
}