Pulsar

Banner Slide

CSS

An informational banner slides up from the bottom edge, expanding to reveal structured fields that fade in sequentially.

Tier
CSS
Dependencies
None
Duration
4.4 s, loops
Categories
Transitions and reveals
Use cases
Onboarding and setup, Security and trust
Industries
SaaS and software, Security and identity
Style
Minimal line · light stroke
Set
consent
Tags
uibarsminimallinestagger

Companion assets

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

Animated
CSS tier
Static vector
Banner Slide, not animated
Download SVG

Code

animation.svg

<svg xmlns="http://www.w3.org/2000/svg" fill="none" aria-hidden="true" class="pulsar pulsar-consent-banner-slide" data-pulsar="consent-banner-slide" viewBox="0 0 160 96"><g class="consent-banner-card"><rect width="88" height="52" x="36" y="24" stroke="currentColor" stroke-width="1.25" opacity=".4" rx="6"></rect><line x1="44" x2="80" y1="36" y2="36" stroke="var(--pulsar-accent, currentColor)" stroke-linecap="round" stroke-width="1.5"></line><g class="consent-banner-row-1"><line x1="44" x2="90" y1="46" y2="46" stroke="currentColor" stroke-linecap="round" opacity=".6"></line><circle cx="112" cy="46" r="3" stroke="var(--pulsar-accent, currentColor)" stroke-width="1.25"></circle></g><g class="consent-banner-row-2"><line x1="44" x2="82" y1="56" y2="56" stroke="currentColor" stroke-linecap="round" opacity=".6"></line><circle cx="112" cy="56" r="3" stroke="currentColor" stroke-width="1.25" opacity=".4"></circle></g><rect width="28" height="6" x="44" y="64" stroke="var(--pulsar-accent, currentColor)" rx="2"></rect></g></svg>

animation.css

.pulsar-consent-banner-slide {
  display: block;
  overflow: visible;
}
.pulsar-consent-banner-slide .consent-banner-card {
  animation: consent-banner-slide-anim 4400ms cubic-bezier(0.2, 1, 0.3, 1) infinite;
}
.pulsar-consent-banner-slide .consent-banner-row-1 {
  animation: consent-banner-slide-row1-anim 4400ms ease infinite;
}
.pulsar-consent-banner-slide .consent-banner-row-2 {
  animation: consent-banner-slide-row2-anim 4400ms ease infinite;
}

@keyframes consent-banner-slide-anim {
  0%,
  15% {
    transform: translateY(32px);
    opacity: 0;
  }
  40%,
  80% {
    transform: translateY(0);
    opacity: 1;
  }
  92%,
  100% {
    transform: translateY(32px);
    opacity: 0;
  }
}

@keyframes consent-banner-slide-row1-anim {
  0%,
  30% {
    opacity: 0;
    transform: translateX(-4px);
  }
  45%,
  80% {
    opacity: 1;
    transform: translateX(0);
  }
  90%,
  100% {
    opacity: 0;
  }
}

@keyframes consent-banner-slide-row2-anim {
  0%,
  38% {
    opacity: 0;
    transform: translateX(-4px);
  }
  52%,
  80% {
    opacity: 1;
    transform: translateX(0);
  }
  90%,
  100% {
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pulsar-consent-banner-slide .consent-banner-card,
  .pulsar-consent-banner-slide .consent-banner-row-1,
  .pulsar-consent-banner-slide .consent-banner-row-2 {
    animation: none;
  }
}

From this family15 in Consent

See the family