FX · Backgrounds

Scanlines, a slow rolling band and a vignette over any content.

READY_

bash
npx shadcn@latest add https://www.rad-ui.com/r/crt-overlay.json
React
import CrtOverlay from "@/components/fx/crt-overlay" <CrtOverlay><Terminal /></CrtOverlay>
  • The overlay is aria-hidden and ignores pointer events.
  • Deliberately no flicker: flashing overlays are a seizure risk.
  • Keep `intensity` modest and re-check text contrast under the scanlines.
  • Pauses offscreen; `paused` stops it on demand.
  • prefers-reduced-motion: reduce (or data-rad-fx-motion="reduce" on an ancestor) removes the rolling band.
PropTypeDefaultDescription
intensity
number
0.35

Scanline strength, 0–1.

roll
boolean
true

Slow rolling band.

paused
boolean
false

Stop the animation. It also pauses offscreen.

...props
ComponentProps<'div'>
—

Passed to the root div; children render above.