Line, Square, Cube, Hypercube via folding in pure CSS
How do I make an line, square, cube, hypercube via folding in pure css?
A css implementation of http://imgur.com/3dF2YCg gif. I still have to tune up a few things at the end of the animation.. What is a line, square, cube, hypercube via folding in pure css? How do you make a line, square, cube, hypercube via folding in pure css? This script and codes were developed by Girish Sharma on 02 August 2022, Tuesday.
Line, Square, Cube, Hypercube via folding in pure CSS - Script Codes HTML Codes
<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>Line, Square, Cube, Hypercube via folding in pure CSS</title> <style> /* NOTE: The styles were added inline because Prefixfree needs access to your styles and they must be inlined if they are on local disk! */ html { height: 100%;
}
body { height: 100%; background: black; perspective: 900px; perspective-origin: center center; trasnform-style: preserve-3d; overflow: hidden;
}
.container { left: 10%; top: 10%; width: 80%; height: 80%; position: absolute; transform-origin: center center; animation: rotate-box 8s ease-in infinite; perspective: 2000px; perspective-origin: center center; transform-style: preserve-3d;
}
/* .container { border: 2px solid white; background-image: linear-gradient(to bottom, transparent 19px, white 19px, transparent 21px), linear-gradient(to right, transparent 19px, white 19px, transparent 21px); background-size: 20px 20px;
} */
.container div { position: absolute; width: 100px; top: -1px; height: 1px; display: inline-block; float: left; border: 1px solid white; box-shadow: inset 0 0 5px 1px white, 0 0 5px 1px white; transform-style: preserve-3d; -moz-box-sizing: border-box;
}
.bottom { top: calc(50% + 50px) !important; left: calc(50% - 50px); transform-origin: center top; transform: translateZ(-50px); height: 0px; box-shadow: none !important;
}
.left { left: -100px; animation: rotate-left 8s infinite; transform-origin: right top;
}
.right { left: 100px; animation: rotate-right 8s infinite; transform-origin: left 1px;
}
.top { left: 100px; animation: rotate-top 8s infinite; transform-origin: left 1px;
}
.side-left { top: 0; animation: rotate-side-left 8s infinite; transform-origin: center top;
}
.side-right { animation: rotate-side-right 8s infinite; transform-origin: center top; transform: rotateX(0deg) rotateY(180deg); height: 0px;
}
@keyframes rotate-left { 5% { transform: rotateZ(0); } 16% { transform: rotateZ(90deg); height: 1px; } 16.001% { transform: translateY(-100px) rotateY(179deg); height: 100px; } 32% { transform: translateY(-100px) rotateY(0deg); } 48% { transform: translateY(-100px) rotateY(90deg); } 99.99% { transform: translateY(-100px) rotateY(90deg); } 100% { height: 100px; }
}
@keyframes rotate-right { 5% { transform: rotateZ(0); } 16% { transform: rotateZ(-90deg); height: 1px; } 16.001% { transform: translateY(-100px) rotateY(-179deg); height: 100px; } 32% { transform: translateY(-100px) rotateY(0deg); } 48% { transform: translateY(-100px) rotateY(-90deg); } 99.99% { transform: translateY(-100px) rotateY(-90deg); } 100% { height: 100px; }
}
@keyframes rotate-top { 5% { transform: rotateZ(0); } 16% { transform: rotateZ(-90deg); height: 1px; } 16.001% { transform: rotateY(-180deg); height: 100px; } 32% { transform: rotateY(0deg); } 48% { transform: rotateY(-90deg); } 99.99% { transform: rotateY(-90deg); } 100% { height: 100px; }
}
@keyframes rotate-side-left { 16% { height: 0px; } 16.001% { height: 100px; transform: rotateX(179deg); } 32% { transform: rotateX(0deg); } 48% { transform: rotateX(90deg); } 99.99% { transform: rotateX(90deg); } 100% { height: 100px; }
}
@keyframes rotate-side-right { 16% { height: 0px; top: 0px; } 16.001% { height: 100px; top: -100px; transform: rotateX(0deg) rotateY(180deg); } 32% { transform: rotateX(179deg) rotateY(180deg); } 48% { transform: rotateX(90deg) rotateY(180deg); } 99.99% { transform: rotateX(90deg) rotateY(180deg); } 100% { height: 100px; top: -100px; }
}
@keyframes rotate-box { 25% { transform: rotateZ(20deg); } 50% { transform: rotateZ(60deg) rotateY(40deg) rotateX(60deg); } 100% { transform: rotateZ(0) rotateY(-520deg) rotateX(40deg); }
}
.popup { animation: popup-face 8s infinite; transform-origin: center top; height: 100px;
}
.popup > .popup { animation: popup2-face 8s infinite; transform-origin: center top; height: 100px; top: 50%; left: 50%;
}
.bottom > .popup { top: -100px !important;
}
.popup > div:not(.popup) { position: absolute; width: 100%; height: 100%; border: none !important; box-shadow: none !important;
}
.popup > div:not(.popup):after, .popup > div:not(.popup):before { content: ' '; position: absolute; width: 1px; background: white; box-shadow: inset 0 0 5px 1px white, 0 0 5px 1px white; height: 0px; transform-origin: center top; transform: rotateX(90deg); left: 0; top: 0; animation: popup-sides-1 8s infinite;
}
.popup > div:not(.popup):nth-child(1):after { animation: popup-sides-2 8s infinite;
}
.popup > div:not(.popup):nth-child(2):before { animation: popup-sides-3 8s infinite;
}
.popup > div:not(.popup):nth-child(2):after { animation: popup-sides-4 8s infinite;
}
.popup > .popup > div:before { animation: popup2-sides-1 8s infinite;
}
.popup > .popup > div:nth-child(1):after { animation: popup2-sides-2 8s infinite;
}
.popup > .popup > div:nth-child(2):before { animation: popup2-sides-3 8s infinite;
}
.popup > .popup > div:nth-child(2):after { animation: popup2-sides-4 8s infinite;
}
@keyframes popup-face { 0% { opacity: 0; } 47.99% { opacity: 0; } 48% { opacity: 1; transform: translateZ(0px); } 64% { transform: translateZ(-100px); height: 100px; width: 100px; } 80% { height: 300px; width: 300px; transform: translateX(-100px) translateY(-100px) translateZ(-100px); } 100% { height: 300px; width: 300px; transform: translateX(-100px) translateY(-100px) translateZ(-100px); }
}
@keyframes popup2-face { 0% { opacity: 0; } 47.99% { opacity: 0; } 48% { opacity: 1; transform: translateX(-50%) translateY(-50%) translateZ(0px); } 64% { transform: translateX(-50%) translateY(-50%) translateZ(-100px); height: 100px; width: 100px; } 72% { height: 320px; width: 320px; } 80% { height: 300px; width: 300px; transform: translateX(-50%) translateY(-50%) translateZ(300px); } 100% { height: 300px; width: 300px; transform: translateX(-50%) translateY(-50%) translateZ(300px); }
}
@keyframes popup-sides-1 { 0% { height: 0px; } 48% { height: 0px; } 64% { height: 100px; transform: rotateX(90deg); } 80% { height: 173px; transform: rotateX(45deg) rotateZ(-35.27deg); } 100% { height: 173px; transform: rotateX(45deg) rotateZ(-35.27deg); }
}
@keyframes popup-sides-2 { 0% { height: 0px; transform: translateX(100px) rotateX(90deg); } 48% { height: 0px; } 64% { height: 100px; transform: translateX(100px) rotateX(90deg); } 80% { height: 173px; transform: translateX(300px) rotateX(45deg) rotateZ(35.27deg); } 100% { height: 173px; transform: translateX(300px) rotateX(45deg) rotateZ(35.27deg); }
}
@keyframes popup-sides-3 { 0% { height: 0px; transform: translateY(100px) rotateX(90deg); } 48% { height: 0px; } 64% { height: 100px; transform: translateY(100px) rotateX(90deg); } 80% { height: 173px; transform: translateY(300px) rotateX(-45deg) rotateZ(-144.73deg); } 100% { height: 173px; transform: translateY(300px) rotateX(-45deg) rotateZ(-144.73deg); }
}
@keyframes popup-sides-4 { 0% { height: 0px; transform: translateX(100px) translateY(100px) rotateX(90deg); } 48% { height: 0px; } 64% { height: 100px; transform: translateX(100px) translateY(100px) rotateX(90deg); } 80% { height: 173px; transform: translateX(300px) translateY(300px) rotateX(-45deg) rotateZ(144.73deg); } 100% { height: 173px; transform: translateX(300px) translateY(300px) rotateX(-45deg) rotateZ(144.73deg); }
}
@keyframes popup2-sides-1 { 0% { height: 0px; } 48% { height: 0px; } 64% { height: 100px; transform: rotateX(90deg); } 72% { height: 116px; transform: rotateZ(-45deg) rotateX(-67deg); } 80% { height: 300px; transform: rotateX(-90deg); } 100% { height: 300px; transform: rotateX(-90deg); }
}
@keyframes popup2-sides-2 { 0% { height: 0px; transform: translateX(100px) rotateX(90deg); } 48% { height: 0px; } 64% { height: 100px; transform: translateX(100px) rotateX(90deg); } 72% { height: 116px; transform: translateX(320px) rotateZ(-45deg) rotateX(-67deg); } 80% { height: 300px; transform: translateX(300px) rotateX(-90deg); } 100% { height: 300px; transform: translateX(300px) rotateX(-90deg); }
}
@keyframes popup2-sides-3 { 0% { height: 0px; transform: translateY(100px) rotateX(90deg); } 48% { height: 0px; } 64% { height: 100px; transform: translateY(100px) rotateX(90deg); } 72% { height: 116px; transform: translateY(320px) rotateZ(-135deg) rotateX(-67deg); } 80% { height: 300px; transform: translateY(300px) rotateX(-90deg); } 100% { height: 300px; transform: translateY(300px) rotateX(-90deg); }
}
@keyframes popup2-sides-4 { 0% { height: 0px; transform: translateX(100px) translateY(100px) rotateX(90deg); } 48% { height: 0px; } 64% { height: 100px; transform: translateX(100px) translateY(100px) rotateX(90deg); } 72% { height: 116px; transform: translateX(320px) translateY(320px) rotateZ(-135deg) rotateX(-67deg); } 80% { height: 300px; transform: translateX(300px) translateY(300px) rotateX(-90deg); } 100% { height: 300px; transform: translateX(300px) translateY(300px) rotateX(-90deg); }
} </style> <script src="https://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js"></script>
</head>
<body> <div class="container"> <div class="bottom"> <div class="popup"> <div></div><div></div> </div> <div class="side-left"> <div class="popup"> <div></div><div></div> </div> </div> <div class="side-right"> <div class="popup"> <div></div><div></div> </div> </div> <div class="left"> <div class="popup"> <div></div><div></div> <div class="popup"> <div></div><div></div> </div> </div> </div> <div class="right"> <div class="popup"> <div></div><div></div> </div> <div class="top"> <div class="popup"> <div></div><div></div> </div> </div> </div> </div>
</div>
</body>
</html>
Line, Square, Cube, Hypercube via folding in pure CSS - Script Codes CSS Codes
html { height: 100%;
}
body { height: 100%; background: black; perspective: 900px; perspective-origin: center center; trasnform-style: preserve-3d; overflow: hidden;
}
.container { left: 10%; top: 10%; width: 80%; height: 80%; position: absolute; transform-origin: center center; animation: rotate-box 8s ease-in infinite; perspective: 2000px; perspective-origin: center center; transform-style: preserve-3d;
}
/* .container { border: 2px solid white; background-image: linear-gradient(to bottom, transparent 19px, white 19px, transparent 21px), linear-gradient(to right, transparent 19px, white 19px, transparent 21px); background-size: 20px 20px;
} */
.container div { position: absolute; width: 100px; top: -1px; height: 1px; display: inline-block; float: left; border: 1px solid white; box-shadow: inset 0 0 5px 1px white, 0 0 5px 1px white; transform-style: preserve-3d; -moz-box-sizing: border-box;
}
.bottom { top: calc(50% + 50px) !important; left: calc(50% - 50px); transform-origin: center top; transform: translateZ(-50px); height: 0px; box-shadow: none !important;
}
.left { left: -100px; animation: rotate-left 8s infinite; transform-origin: right top;
}
.right { left: 100px; animation: rotate-right 8s infinite; transform-origin: left 1px;
}
.top { left: 100px; animation: rotate-top 8s infinite; transform-origin: left 1px;
}
.side-left { top: 0; animation: rotate-side-left 8s infinite; transform-origin: center top;
}
.side-right { animation: rotate-side-right 8s infinite; transform-origin: center top; transform: rotateX(0deg) rotateY(180deg); height: 0px;
}
@keyframes rotate-left { 5% { transform: rotateZ(0); } 16% { transform: rotateZ(90deg); height: 1px; } 16.001% { transform: translateY(-100px) rotateY(179deg); height: 100px; } 32% { transform: translateY(-100px) rotateY(0deg); } 48% { transform: translateY(-100px) rotateY(90deg); } 99.99% { transform: translateY(-100px) rotateY(90deg); } 100% { height: 100px; }
}
@keyframes rotate-right { 5% { transform: rotateZ(0); } 16% { transform: rotateZ(-90deg); height: 1px; } 16.001% { transform: translateY(-100px) rotateY(-179deg); height: 100px; } 32% { transform: translateY(-100px) rotateY(0deg); } 48% { transform: translateY(-100px) rotateY(-90deg); } 99.99% { transform: translateY(-100px) rotateY(-90deg); } 100% { height: 100px; }
}
@keyframes rotate-top { 5% { transform: rotateZ(0); } 16% { transform: rotateZ(-90deg); height: 1px; } 16.001% { transform: rotateY(-180deg); height: 100px; } 32% { transform: rotateY(0deg); } 48% { transform: rotateY(-90deg); } 99.99% { transform: rotateY(-90deg); } 100% { height: 100px; }
}
@keyframes rotate-side-left { 16% { height: 0px; } 16.001% { height: 100px; transform: rotateX(179deg); } 32% { transform: rotateX(0deg); } 48% { transform: rotateX(90deg); } 99.99% { transform: rotateX(90deg); } 100% { height: 100px; }
}
@keyframes rotate-side-right { 16% { height: 0px; top: 0px; } 16.001% { height: 100px; top: -100px; transform: rotateX(0deg) rotateY(180deg); } 32% { transform: rotateX(179deg) rotateY(180deg); } 48% { transform: rotateX(90deg) rotateY(180deg); } 99.99% { transform: rotateX(90deg) rotateY(180deg); } 100% { height: 100px; top: -100px; }
}
@keyframes rotate-box { 25% { transform: rotateZ(20deg); } 50% { transform: rotateZ(60deg) rotateY(40deg) rotateX(60deg); } 100% { transform: rotateZ(0) rotateY(-520deg) rotateX(40deg); }
}
.popup { animation: popup-face 8s infinite; transform-origin: center top; height: 100px;
}
.popup > .popup { animation: popup2-face 8s infinite; transform-origin: center top; height: 100px; top: 50%; left: 50%;
}
.bottom > .popup { top: -100px !important;
}
.popup > div:not(.popup) { position: absolute; width: 100%; height: 100%; border: none !important; box-shadow: none !important;
}
.popup > div:not(.popup):after, .popup > div:not(.popup):before { content: ' '; position: absolute; width: 1px; background: white; box-shadow: inset 0 0 5px 1px white, 0 0 5px 1px white; height: 0px; transform-origin: center top; transform: rotateX(90deg); left: 0; top: 0; animation: popup-sides-1 8s infinite;
}
.popup > div:not(.popup):nth-child(1):after { animation: popup-sides-2 8s infinite;
}
.popup > div:not(.popup):nth-child(2):before { animation: popup-sides-3 8s infinite;
}
.popup > div:not(.popup):nth-child(2):after { animation: popup-sides-4 8s infinite;
}
.popup > .popup > div:before { animation: popup2-sides-1 8s infinite;
}
.popup > .popup > div:nth-child(1):after { animation: popup2-sides-2 8s infinite;
}
.popup > .popup > div:nth-child(2):before { animation: popup2-sides-3 8s infinite;
}
.popup > .popup > div:nth-child(2):after { animation: popup2-sides-4 8s infinite;
}
@keyframes popup-face { 0% { opacity: 0; } 47.99% { opacity: 0; } 48% { opacity: 1; transform: translateZ(0px); } 64% { transform: translateZ(-100px); height: 100px; width: 100px; } 80% { height: 300px; width: 300px; transform: translateX(-100px) translateY(-100px) translateZ(-100px); } 100% { height: 300px; width: 300px; transform: translateX(-100px) translateY(-100px) translateZ(-100px); }
}
@keyframes popup2-face { 0% { opacity: 0; } 47.99% { opacity: 0; } 48% { opacity: 1; transform: translateX(-50%) translateY(-50%) translateZ(0px); } 64% { transform: translateX(-50%) translateY(-50%) translateZ(-100px); height: 100px; width: 100px; } 72% { height: 320px; width: 320px; } 80% { height: 300px; width: 300px; transform: translateX(-50%) translateY(-50%) translateZ(300px); } 100% { height: 300px; width: 300px; transform: translateX(-50%) translateY(-50%) translateZ(300px); }
}
@keyframes popup-sides-1 { 0% { height: 0px; } 48% { height: 0px; } 64% { height: 100px; transform: rotateX(90deg); } 80% { height: 173px; transform: rotateX(45deg) rotateZ(-35.27deg); } 100% { height: 173px; transform: rotateX(45deg) rotateZ(-35.27deg); }
}
@keyframes popup-sides-2 { 0% { height: 0px; transform: translateX(100px) rotateX(90deg); } 48% { height: 0px; } 64% { height: 100px; transform: translateX(100px) rotateX(90deg); } 80% { height: 173px; transform: translateX(300px) rotateX(45deg) rotateZ(35.27deg); } 100% { height: 173px; transform: translateX(300px) rotateX(45deg) rotateZ(35.27deg); }
}
@keyframes popup-sides-3 { 0% { height: 0px; transform: translateY(100px) rotateX(90deg); } 48% { height: 0px; } 64% { height: 100px; transform: translateY(100px) rotateX(90deg); } 80% { height: 173px; transform: translateY(300px) rotateX(-45deg) rotateZ(-144.73deg); } 100% { height: 173px; transform: translateY(300px) rotateX(-45deg) rotateZ(-144.73deg); }
}
@keyframes popup-sides-4 { 0% { height: 0px; transform: translateX(100px) translateY(100px) rotateX(90deg); } 48% { height: 0px; } 64% { height: 100px; transform: translateX(100px) translateY(100px) rotateX(90deg); } 80% { height: 173px; transform: translateX(300px) translateY(300px) rotateX(-45deg) rotateZ(144.73deg); } 100% { height: 173px; transform: translateX(300px) translateY(300px) rotateX(-45deg) rotateZ(144.73deg); }
}
@keyframes popup2-sides-1 { 0% { height: 0px; } 48% { height: 0px; } 64% { height: 100px; transform: rotateX(90deg); } 72% { height: 116px; transform: rotateZ(-45deg) rotateX(-67deg); } 80% { height: 300px; transform: rotateX(-90deg); } 100% { height: 300px; transform: rotateX(-90deg); }
}
@keyframes popup2-sides-2 { 0% { height: 0px; transform: translateX(100px) rotateX(90deg); } 48% { height: 0px; } 64% { height: 100px; transform: translateX(100px) rotateX(90deg); } 72% { height: 116px; transform: translateX(320px) rotateZ(-45deg) rotateX(-67deg); } 80% { height: 300px; transform: translateX(300px) rotateX(-90deg); } 100% { height: 300px; transform: translateX(300px) rotateX(-90deg); }
}
@keyframes popup2-sides-3 { 0% { height: 0px; transform: translateY(100px) rotateX(90deg); } 48% { height: 0px; } 64% { height: 100px; transform: translateY(100px) rotateX(90deg); } 72% { height: 116px; transform: translateY(320px) rotateZ(-135deg) rotateX(-67deg); } 80% { height: 300px; transform: translateY(300px) rotateX(-90deg); } 100% { height: 300px; transform: translateY(300px) rotateX(-90deg); }
}
@keyframes popup2-sides-4 { 0% { height: 0px; transform: translateX(100px) translateY(100px) rotateX(90deg); } 48% { height: 0px; } 64% { height: 100px; transform: translateX(100px) translateY(100px) rotateX(90deg); } 72% { height: 116px; transform: translateX(320px) translateY(320px) rotateZ(-135deg) rotateX(-67deg); } 80% { height: 300px; transform: translateX(300px) translateY(300px) rotateX(-90deg); } 100% { height: 300px; transform: translateX(300px) translateY(300px) rotateX(-90deg); }
}
Developer | Girish Sharma |
Username | grssam |
Uploaded | August 02, 2022 |
Rating | 4 |
Size | 5,810 Kb |
Views | 48,576 |
Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!
Name | Size |
A Pen by Girish Sharma | 1,618 Kb |
Gmail like loading animation in pure CSS | 2,845 Kb |
Tilted Horizontal 3D spinner in pure CSS | 2,912 Kb |
Fractal Snow Flake | 2,092 Kb |
Metro style loading spinner animation in pure CSS | 2,820 Kb |
Loader dots in pure CSS and 1 element | 2,500 Kb |
Google browser icon set in Pure CSS | 4,733 Kb |
Single DIV Loading ring in Pure CSS | 3,937 Kb |
Facebook style loading animation in pure CSS | 2,769 Kb |
Korean Flag in pure CSS | 1,784 Kb |
Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!
Name | Username | Size |
Dragonball Dragon Radar | DouglasGlover | 2,157 Kb |
Rotate Demo | Agelber | 3,061 Kb |
Long Shadow Button | Uixcrazy | 3,550 Kb |
Canvas Background Effect | Sonick | 3,513 Kb |
Portfolio Page | KaylaMT | 1,983 Kb |
Kudos Please | TimPietrusky | 6,624 Kb |
Hamburger Menu Animation | Salmanraza | 2,580 Kb |
BenU Maintenance Site | Ksherman | 4,893 Kb |
Preloader | Rikki_Sixx | 2,815 Kb |
Pomodoro Clock | Osycon | 3,705 Kb |
Surf anonymously, prevent hackers from acquiring your IP address, send anonymous email, and encrypt your Internet connection. High speed, ultra secure, and easy to use. Instant setup. Hide Your IP Now!