【一、项目背景】
随着HTML5 CSS3的出现和发展,使得我们的网页可以实现更加复杂的效果,也使得我们的浏览体验更加丰富,所以今天我们将制作一个正方体的3D效果。
【二、项目分析】
想要利用CSS3实现3D立方体,就要清楚立方体是由六个面组成,分上下左右和前后,考虑这些可以帮助我们更好的融入CSS3的代码。
因此我设置了6个div,作为立方体的6个面。因为定位的原因,一开始所有的盒子都是面对着屏幕这面的,因此要赋予每个面不一样的值,即不一样的位置它才能展现出来。
【三、需要的工具】
Adobe Dreamweaver
【四、项目目标】
实现3的l立方体旋转,鼠标移上去实现缩放效果。
【五、项目实现】
1、打开Adobe Dreamweaver,新建html文档。把标题改为“3d立方体”。
2、在body标签,创建一个div盒子 ,给它class属性,在外层div里面在创建6个div表示立方体的六个面,同样给它们 class属性。
3、创建CSS样式
.box {
width: 200px;
height: 200px;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
margin: auto;
transition: all 2s;
transform-style: preserve-3d;
transform: rotateX(15deg) rotateY(-15deg);
}
.box:hover {
transform: rotateX(300deg) rotateZ(300deg) rotateY(-300deg) scale(0.5);
}
.box .box-2 {
width: 100px;
height: 100px;
text-align: center;
line-height: 100px;
font-size: 1.2em;
position: absolute;
top: 0;
left: 0;
}
.box .box-2:nth-child(1) {
/*小立方体第一面*/
background: rgba(225,0,0,0.5);
transform: rotateX(90deg) translateZ(50px); #角度 偏移量
}
.box .box-2:nth-child(2) {
/*小立方体第二面*/
background: rgba(255,255,0,0.5);
transform: rotateX(-90deg) translateZ(50px);
}
.box .box-2:nth-child(3) {
/*小立方体第三面*/
background: rgba(225,0,255,0.5);
transform: rotateY(-90deg) translateZ(50px);
}
.box .box-2:nth-child(4) {
/*小立方体第四面*/
background: rgba(0,255,0,0.5);
transform: rotateY(90deg) translateZ(50px);
}
.box .box-2:nth-child(5) {
/*小立方体第五面*/
background: rgba(225,0,0,0.5);
transform: translateZ(50px);
}
.box .box-2:nth-child(6) {
/*小立方体第六面*/
background: rgba(0,0,255,0.5);
transform: rotateY(180deg) translateZ(50px);
}