3D Cube Animation In HTML | Pure CSS3

Hello Readers, in this post you will learn how To Create 3D Cube Animation In HTML | CSS | 3D Box Animation Pure CSS. 3D cube effect can be achieved easily with CSS 3D Transform by creating div for each side of the cube. Then use rotateX, rotateY, and rotateZ to put them into their places. Transform-origin is also needed to move the rotation fulcrum.


Working with 3D in CSS can be crazy fun to mess around with. As you can see below, the animation appears to split the 3D box n six direction. In this article, I’ll show how I built the animation using the CSS 3D transforms and CSS animations it required.


3d transformations, translations, rotations, and animations are among the newest and coolest CSS techniques you can use to make your website stand out. For this tutorial we are going to develop a simple and nice animated 3d Cube, then add an additional effect to make the cube disassemble on hover and reassemble on mouse out.

Since we’ll be only using Css3, this will work on browsers that support CSS animations and 3D transforms, also this code is stripped of the vendor prefixes to keep it clean.


CSS cubes really showcase what CSS has become over the years, evolving from simple color and dimension directives to a language capable of creating deep, creative visuals. Add animation and you’ve got something really neat. Unfortunately, each CSS cube tutorial I’ve read is a bit long and a mixes visual style with the cube basics, so I’ve decided to write a post which provides just the basic detail needed to create a CSS cube.


I would like to show you how to create an amazing 3D rotation animation using CSS3 3D transforms and CSS3 animation properties, WITHOUT using JavaScript. You might, of course, can check out other amazing CSS3 effects like CSS3 background animation and pure CSS3 logo and icons.

Play Video

The idea is to create a 3D ‘cube‘ gallery effect. Few cubes are located near each other with different images bind to cubes’ faces. These cubes will then rotate itself one by one with different timing and stop for a while, and then rotate and stop again after this. The process will keep repeating itself. Check out the demo above to see it with your eyes!


The initial idea was inspired by the CCSlider 3D cube effect, so I decided to create one similar but with CSS3 only. Anyway, you may go through the HTML markup and CSS style below for this CSS3 3D animation demo if you wish to know how it works. Otherwise, you can just skip the part below and enjoy the cube rotation effect by CSS3 3D transforms.


Let’s take this one meaningful bit at a time. The first meaningful element is the entire animation wrapper, which will provide a CSS perspective for the 3D element. CSS perspective is a difficult concept to explain but MDN does a great job so I won’t duplicate their explanation. To better understand perspective, I recommend modifying the perspective property to see how it affects the demo. Next up is the cube container which will hold all of the different cube faces.


I will share a simple yet exciting snippet based on how to create a 3D Rotating cube with pure CSS animation. I have used pure HTML and CSS to do this project. For the snippet to work, I have taken six single div and applied some basic styling to make the box stayed entirely in the center. Later used CSS transform rotate and translate property to make it look like a box. After that, I used CSS keyframes animation to rotate the cube box.


As you can see, currently not many browsers support CSS3 3D transforms yet. Hence, you have to consider those non-supported browsers in order to use these new CSS3 attributes. For example, if you use Firefox to browse the demo page, you will see a sliding effect, but if you browse the demo page using IE, it will only show a text message.


All of these checking mechanisms are simply done by CSS. Yes, of course, you could build more complicated drawbacks and effects using JavaScript or jQuery. But I will be left the part for you





2 thoughts on “3D Cube Animation In HTML | Pure CSS3

Leave a Reply

Your email address will not be published.