Pulsar

Layout

CSS

Multi-room architectural partition walls draw in progressively across suites in a floor plan layout sequence.

Tier
CSS
Dependencies
None
Duration
4 s, loops
Categories
Icons and micro-interactions
Use cases
Dashboards and reporting, Workflow and approvals
Industries
Real estate and property, Construction and built environment
Style
Technical · light stroke
Set
floorplate
Tags
gridgeometricloopstroke

Companion assets

The same artwork, not animated. Derived from the entry’s own resting state, so it matches exactly.

Animated
CSS tier
Static vector
Layout, not animated
Download SVG

Code

animation.svg

<svg xmlns="http://www.w3.org/2000/svg" fill="none" aria-hidden="true" class="pulsar pulsar-floorplate-layout" data-pulsar="floorplate-layout" viewBox="0 0 160 96"><rect width="104" height="56" x="28" y="20" stroke="currentColor" stroke-width="1.5" class="perimeter" opacity=".3" rx="1"></rect><path stroke="var(--pulsar-accent, currentColor)" stroke-width="1.5" d="M68 20v56" class="wall w1"></path><path stroke="currentColor" stroke-width="1.2" d="M68 48h64" class="wall w2"></path><path stroke="currentColor" stroke-width="1.2" d="M28 52h40" class="wall w3"></path><rect width="32" height="24" x="32" y="24" stroke="var(--pulsar-accent, currentColor)" stroke-dasharray="2 2" stroke-width=".8" class="room r1" opacity=".4"></rect></svg>

animation.css

.pulsar-floorplate-layout {
  display: block;
  width: 100%;
  height: 100%;
}
.pulsar-floorplate-layout .wall.w1 {
  stroke-dasharray: 56;
  animation: floorplate-layout-draw1 4s ease-in-out infinite;
}
.pulsar-floorplate-layout .wall.w2 {
  stroke-dasharray: 64;
  animation: floorplate-layout-draw2 4s ease-in-out infinite -2.66s;
}
.pulsar-floorplate-layout .wall.w3 {
  stroke-dasharray: 40;
  animation: floorplate-layout-draw3 4s ease-in-out infinite -1.33s;
}
.pulsar-floorplate-layout .room.r1 {
  animation: floorplate-layout-room 4s ease-in-out infinite;
}
@keyframes floorplate-layout-draw1 {
  0% {
    stroke-dashoffset: 56;
    opacity: 0;
  }
  30%,
  80% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0.3;
  }
}
@keyframes floorplate-layout-draw2 {
  0% {
    stroke-dashoffset: 64;
    opacity: 0;
  }
  30%,
  80% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0.3;
  }
}
@keyframes floorplate-layout-draw3 {
  0% {
    stroke-dashoffset: 40;
    opacity: 0;
  }
  30%,
  80% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0.3;
  }
}
@keyframes floorplate-layout-room {
  0%,
  100% {
    opacity: 0.2;
  }
  50% {
    opacity: 0.8;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pulsar-floorplate-layout .wall.w1,
  .pulsar-floorplate-layout .wall.w2,
  .pulsar-floorplate-layout .wall.w3,
  .pulsar-floorplate-layout .room.r1 {
    animation: none;
    stroke-dashoffset: 0;
    opacity: 1;
  }
}

From this family15 in Floorplate

See the family