Measured entry
ruixen-container-text-scroll
scroll-effectspatialmotion on file
A shadcn registry client component that turns supplied children into a framed card, then tilts, scales, and lifts it as the page scrolls. It ships as a TypeScript React file, uses Tailwind utility classes for all layout and styling, and depends on Motion for scroll tracking and transforms.



Measured
Every value below was written by the harness on the run that produced the frames above. None of it is derived from the prose.
| Build | OK |
|---|---|
| Mount | OK |
| Console errors | 0 |
| Uncaught page errors | 0 |
| Horizontal overflow | clean at 375, 768, 1440 |
| Axe critical | 0 |
| Axe serious | 0 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 61.5 KB (126.9 KB build, 65.4 KB baseline) |
| Bare mode | OK |
| Provider required | NO |
| Demo used | written from the component source API |
Verdict
Technically dependable and responsive, but not convincing as a drop-in: the default demo has no title or children and captures the card nearly edge-on. Choose it when you will compose the content and can justify a long, cinematic scroll section; otherwise the setup outweighs the effect.
Use it if
- You need a cinematic scroll reveal for a hero visual, product mockup, or editorial feature.
- Your React app already uses Tailwind and Motion, and you can provide the title and card content.
- You have enough vertical space for a deliberately long, scroll-driven presentation.
Skip it if
- You need a useful drop-in demo, since the supplied harness invocation provides no content and appears nearly empty.
- You want a compact section that does not reserve a tall scroll region.
- You need reduced-motion behavior out of the box; the source does not check that preference.
- You are minimizing client-side animation dependencies for a single decorative effect.
Install
| Declared dependencies | motion |
|---|---|
| Missing on install | none |
| Bare install | builds and mounts without the shadcn-style helpers |
| Provider | no provider required in the harness |
In a non-shadcn React project, copy the client component, install Motion, and provide Tailwind with arbitrary-value utilities enabled. Ensure the file is rendered on the client, then pass both a title node and card children. Add your own reduced-motion fallback if required.
Source and credit
This page is a review, not a copy. The component source lives with its author and this site does not republish it. Read the license before you use anything.
Author repository
github.com/ruixenui/ruixen.comAlternatives
Other published entries for the scroll-effect pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- reui-scrollspyminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 21.5KB
- Bare
- pass
- Prov
- NO
- kibo-marqueeminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 31.3KB
- Bare
- pass
- Prov
- NO
- motion-primitives-in-viewspatial
- Renders
- YES
- A11y
- 0
- Gzip
- 58.1KB
- Bare
- pass
- Prov
- NO
- tripled-interactive-timeline-shadcnuiminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 58.7KB
- Bare
- pass
- Prov
- NO
- fancy-parallax-floating3d
- Renders
- YES
- A11y
- 0
- Gzip
- 27.5KB
- Bare
- fail
- Prov
- NO
- ruixen-animated-linkunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 29.6KB
- Bare
- fail
- Prov
- NO