Over the past few weeks, I built a massive library of 100 interactive, physics-based 3D web components using React, Tailwind CSS, and Framer Motion.
The challenge? Zero WebGL. Everything runs on the DOM with hardware-accelerated CSS transforms, achieving a locked 60FPS even on 8GB RAM laptops.
GitHub: 100 3D Web Elements
What's Inside?
The library covers 10 categories spanning 100 components:
Immersive Backgrounds
- Aurora Mesh with procedural SVG noise film grain overlay
- Prismatic Volumetric Light Beams with SVG crystal masking
- Obsidian Frosted Glass with a reactive violet magma core that tracks your mouse
- Topographical Cyber-Grid with gravity wells rendered on HTML5 Canvas
Micro-Interactions
-
Command Palette (⌘K) with Framer Motion
layoutIdgliding highlight physics - AI Neural Input with a rotating conic-gradient mask and star particle eruptions on keystroke
- Magnetic Blend Cursor with velocity-driven squash & stretch physics
- Dynamic Island CTA that morphs its shape based on scroll velocity
Scrollytelling
- Velocity Skew Grid — product images physically lean when you scroll fast
- Smartphone App Showcase — a scroll-driven phone simulator where app screens layer sequentially
- Kinetic typography that dramatically reveals as your scroll progress advances
🏛️ Spatial Data Components
- Spotlight Tracking Grid — a mouse-following illumination effect on pricing cards
- Spatial Table Row — click a spreadsheet row and it physically elevates into an edit card
- Architectural Blueprint — dynamic measurement guide lines that snap to any hovered element
The Design Philosophy: "Physical Intent"
Every component exists in a simulated 3D space. Instead of flat, lifeless UIs, we use:
-
Z-Axis Depth — Elements have architectural height via
translateZandperspective -
Spring Physics — Movement is defined by
stiffness,damping, andmass— not duration -
Optical Refraction — Simulated glass effects using
backdrop-filterandmix-blend-mode -
GPU Compositing — All animations use
translate3d()to bypass the CPU entirely
Tech Stack
| Technology | Role |
|---|---|
| ⚛️ React 18 | Component logic (ESM CDN — no build step) |
| 🎨 Tailwind CSS | Utility-first styling |
| 🎬 Framer Motion | Spring physics & layout animations |
| 🖼️ HTML5 Canvas | Procedural backgrounds (Cyber-Grid) |
| 🎯 CSS Keyframes | GPU-accelerated ambient animations |
How to Use
Every component is self-contained in a single .html file. Clone the repo, open any file, and it just works:
git clone https://github.com/IntelliSaad/100-3d-web-elements.git
npx -y live-server --port=8080
Then navigate to any component folder and open the .html file!
Looking for Contributors! 🤝
I'm actively looking for developers who want to:
- Add new components beyond #100
- Improve mobile responsiveness
- Write individual component documentation
Check out the CONTRIBUTING.md for guidelines.
If this project helped you or inspired you, consider giving it a ⭐ on GitHub!
Top comments (0)