Border Beam

Give one card or CTA a lively accent: a small bright comet of light travels around its border. Brighter/livelier than shine-border — use for a single "new"/"featured" element, one per view. Pure CSS; fully static under prefers-reduced-motion.

Nexu b594233 4 files · 5.8 KB Updated

File contents

border-beam

A bright comet that travels an element's border. Part of motion-anything; obeys MOTION-SPEC.md. Technique popularized by Magic UI, reimplemented dependency-free (pure CSS).

When to use it

  • A single "new" / "featured" card or a hero CTA that should feel lively for a beat.

When NOT to use it (restraint)

  • Several at once (competing beams = noise). One per view.
  • Calm/serious contexts — or when a quieter full-border glow fits: use shine-border instead.

How to apply

  1. Copy border-beam.css into the project and link it.
  2. Mark the element:
    <div class="beam"> … </div>
    
  3. Tune --beam-color, --beam-size, and the animation duration (default 3s).

Accessibility & performance

  • Under prefers-reduced-motion the beam stops; a plain static border remains.
  • Animates a masked conic-gradient (via @property --beam-angle) — compositor-friendly.

Framework notes

  • Pure CSS; works in any framework. Scope --beam-* per component.

nexu-io/motion-anything/tree/main/recipes/web/border-beam commit b594233a08

Frequently asked questions

npx skillmds@latest add nexu-io/border-beam