DevPlatform
Home
Components
Search
Submit
Earn
Login
Sign Up Free
Helix Loader - Preview | DevPlatform
DevPlatform
Categories
Accordion
Animation
Box Shadow
Button
Card
Footer
Form
Gallery
Hero Section
Inputs
Loader
Marquee
Modal
Modules
Navbar
Progress Bar
Radio Buttons
Search-Bar
Sections
Slider
Tab
Timeline
Toggle
Helix Loader
abhishek001
Jan 25, 2026
4
0
Share
Live Preview
Refresh
Live Editor
HTML
CSS
JS
HTML
CSS
JavaScript
1
<div class="scene"> <div class="dna-helix"></div> </div> <p class="loader-text">Analyzing Data...</p>
1
* { margin: 0; padding: 0; box-sizing: border-box; } body { background: #000; display: flex; justify-content: center; align-items: center; min-height: 100vh; font-family: 'Courier New', monospace; color: #0ff; overflow: hidden; } .loader-text { position: absolute; bottom: 30px; text-align: center; width: 100%; letter-spacing: 3px; opacity: 0.7; animation: flicker 1.5s infinite alternate; } /* ===== 3D Scene ===== */ .scene { perspective: 1000px; width: 200px; height: 300px; } .dna-helix { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; animation: rotateHelix 8s linear infinite; } /* ===== Build the helix using pseudo-elements ===== */ .dna-helix::before, .dna-helix::after { content: ''; position: absolute; top: 0; left: 50%; width: 12px; height: 12px; background: #0ff; border-radius: 50%; transform-style: preserve-3d; box-shadow: 0 0 12px #0ff, 0 0 24px rgba(0, 255, 255, 0.6); } /* Left strand */ .dna-helix::before { animation: orbitLeft 8s linear infinite; } /* Right strand */ .dna-helix::after { animation: orbitRight 8s linear infinite; } /* ===== Keyframes ===== */ @keyframes rotateHelix { from { transform: rotateY(0deg); } to { transform: rotateY(360deg); } } @keyframes orbitLeft { 0% { transform: translateX(-40px) translateY(0px) translateZ(0px); } 25% { transform: translateX(-28px) translateY(75px) translateZ(28px); } 50% { transform: translateX(0px) translateY(150px) translateZ(40px); } 75% { transform: translateX(28px) translateY(225px) translateZ(28px); } 100% { transform: translateX(40px) translateY(300px) translateZ(0px); } } @keyframes orbitRight { 0% { transform: translateX(40px) translateY(0px) translateZ(0px); } 25% { transform: translateX(28px) translateY(75px) translateZ(-28px); } 50% { transform: translateX(0px) translateY(150px) translateZ(-40px); } 75% { transform: translateX(-28px) translateY(225px) translateZ(-28px); } 100% { transform: translateX(-40px) translateY(300px) translateZ(0px); } } @keyframes flicker { 0%, 19%, 21%, 23%, 25%, 59%, 61%, 63%, 65%, 100% { opacity: 0.7; } 20%, 24%, 60%, 64% { opacity: 1; } }
1
Comments
0
Want to comment?
Please
login
or
sign up
to post comments.
No comments yet
Be the first to comment on this component!
Comments 0
Want to comment?
Please login or sign up to post comments.
No comments yet
Be the first to comment on this component!