In this blog we will be creating a 3D pyramid which will be rotating around vertical axis, ie, Y-axis and also on its own axis using pure css. The most important properties used in the making of pyramid were : transform-origin, transfrom-style, and transform.
Transform property : is used for the 2D or 3D transformation of an element. With this property we can rotate, scale, move, skew the elements.
transform: rotateX(0deg) rotateY(40deg);
Transform-origin : with this property we can change the positing of the transformed elements.
transform-origin: 50% 100% 30px;
CSS Code:
.container{
width: 800px;
margin: 0px auto;
}
.pyramid{
height: 230px;
left: 0;
margin: 0 auto;
position: absolute;
right: 0;
transform: rotateX(0deg) rotateY(40deg);
transform-origin: 50% 100% 30px;
transform-style: preserve-3d;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
width: 1000px;
animation-name: rotate;
animation-duration: 4s;
animation-iteration-count: infinite;
animation-timing-function: linear;
}
.pyramid div{
width: 0px;
height: 0px;
border-left: 180px solid transparent;
border-right: 180px solid transparent;
border-bottom: 180px solid rgba(255,0,0,0.6);
position: absolute;
left: 0;
transform-origin: 50% 0;
}
.pyramid div:nth-child(1){
left: 0;
transform: rotateY(-120deg) rotateX(35deg);
transform-origin: 100% 100% 0;
}
.pyramid div:nth-child(2){
left: 360px;
transform: rotateX(35deg);
transform-origin: 0 100% 0;
border-bottom-color: blue;
}
.pyramid div:nth-child(3){
left: 720px;
transform: rotateY(120deg) rotateX(35deg);
transform-origin: 0 100% 0;
border-bottom-color: yellow;
}
@keyframes rotate{
from{
transform: rotateX(0deg) rotateY(40deg);
}
to{
transform: rotateX(0deg) rotateY(360deg);
}
}
HTML Code:
<div class="container">
<div class="pyramid">
<div></div>
<div></div>
<div></div>
</div>
</div>
For output download the file : pyramid.html
Happy Coding :)
0 Comment(s)