如何css制作3d旋转立方体效果?

html-css010

如何css制作3d旋转立方体效果?,第1张

具体步骤如下:

一、立方体结构中,使用一个wrapper div来包裹立方体。在里面使用6个div来制作立方体的6个面。

二、立方体的每一个面都有它自己的元素。我们稍后会使用CSS来将立方体的6个面放置到正确的位置上。

三、在立方体的CSS样式中,首先要关注的是立方体的wrapper div。为了制作3D效果,我们需要为它提供一个 CSS perspective。

四、CSS perspective属性是一个比较复杂的CSS3属性。最好的理解它的方法是看完文档后,自己动手修改一下DEMO中的perspective属性来看看它的变化。

下面需要给包含立方体6个面的立方体的容器.cube提供样式:

1、.cube {

position: relative

width: 200px

transform-style: preserve-3d

2、给立方体容器200像素的宽度,并设置为相对定位,这样在它里面的立方体的6个面可以设置为绝对定位。

3、preserve-3d属性确保所有6个面都处于3D立体状态。

4、在为6个面设置它们的位置之前,先给它们一些通用的样式:

.cube div {

position: absolute

width: 200px

height: 200px

}

5、在进过上面对立方体6个面的一系列设置之后,现在我们可以为6个面制作变形效果,以使它们组装为一个立方体。

6、rotateY的值可以旋转立方体的各个面,使上面的文字处于正确的位置上。

7、而 translateZ 的值使元素在指定容器中向前或向后移动。translateY的值看起来有些混乱,但是请记住,它的作用是通过透明的面板来使指定的面升高或降低来制作3D效果。

8、每一个面都有自己的translations值来使它们处于适当的位置上。你可以自己修改一下这些值来看看效果。

想来大家在初学前端之处,也很好奇,那些炫酷的特效真的可以由自己编写出来嘛,其实是的,现在我来分享一个旋转的正方体。还请大家多多支持。

做一个正方体首先要做出六个面,这就可以定下来基本的形状。让这个正方体旋转起来,其实就是让各个面保持一个相同的运动轨迹,让他们在x/y/z轴进行一定程度的旋转起来。物体的运动就是一个动画的定义,可以自己定运动周期的时间。

1.首先,定义六个面,需要注意的,保持box1-6关于y及z旋转的角度要相等,否则会出现旋转后离体的现象。颜色最好使用半透明,这样旋转起来效果更好。

2.现在需要写出一个div,给旋转的立方体一个布局空间。

现在里面已经定义了3d旋转,以及设置了从何处查看一个元素的角度,还规定了旋转的周期。当在 @keyframes 创建动画,把它绑定到一个选择器,否则动画不会有任何效果。

把 "mydhua" 动画捆绑到 div 元素,时长:5 秒:

3.div布局设置完成,六个面也已经写好,下一步就是利用css动画,制作一个动态

动画是使元素从一种样式逐渐变化为另一种样式的效果。

用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%。

0% 是动画的开始,100% 是动画的完成。

为了得到最佳的浏览器支持,可以定义 0% 和 100% 选择器。

这个时候,在body里面就可以直接使用了

此时,你就可以看到一个旋转的立方体了。感兴趣的话,可以试一试呀!