Hello guys today we will create 3D cube box using html & css
First we need to create two files index.html and style.css then we need to do code for it.
Step:1
Add below code inside index.html
<!DOCTYPE html> <html> <head> <title>3D Cube</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <div class="cube"> <!-- You can use any images --> <div class="box box1"> <img src="img/01.jpg"> </div> <div class="box box2"> <img src="img/02.jpg"> </div> <div class="box box3"> <img src="img/03.jpg"> </div> <div class="box box4"> <img src="img/04.jpg"> </div> <div class="box box5"> <img src="img/05.jpg"> </div> <div class="box box6"> <img src="img/06.jpg"> </div> </div> </body> </html>
Step:2
Then we need to add code for style.css which code i provide in below screen.
* { padding: 0; margin: 0; } body { height: 100vh; display: flex; align-items: center; justify-content: center; background: #fcfcfc; } .cube { width: 200px; height: 200px; position: relative; transform-style: preserve-3d; animation: rotate 10s linear infinite; animation-direction: reverse; } @keyframes rotate { 0%,100% { transform: rotate(0deg); } 20% { transform: rotateY(90deg) rotateZ(90deg); } 40% { transform: rotateY(180deg) rotateZ(-90deg); } 60% { transform: rotateY(270deg) rotateZ(90deg); } 80% { transform: rotateY(360deg) rotateZ(-90deg); } } img { width: 100%; height: 100%; object-fit: cover; } .box { width: 100%; height: 100%; position: absolute; top: 0; left: 0; opacity: 0.9; } .box.box1 { transform: translateZ(100px); } .box.box2 { transform: rotateY(90deg) translateX(100px); transform-origin: right; } .box.box3 { transform: rotateY(180deg) translateZ(100px); } .box.box4 { transform: rotateY(-90deg) translateX(-100px); transform-origin: left; } .box.box5 { transform: rotateX(-90deg) translateY(-100px); transform-origin: top; } .box.box6 { transform: rotateX(90deg) translateY(100px); transform-origin: bottom; }