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)