HTML5/CSS3 3D立方体旋转动画经典案例


本文摘自PHP中文网,作者黄舟,侵删。

效果图:

1232.gif

知识点:

1、perspective ,transform 的复习

2、css3 backgroud实现格格背景,即面上的小格格

3、 @-webkit-keyframes 实现动画

HTML:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<body>

 

 

<p class="stage">

    <p class="cube">

        <p class="font"></p>

        <p class="back"></p>

        <p class="left"></p>

        <p class="right"></p>

        <p class="top"></p>

        <p class="bottom"></p>

    </p>

 

</p>

 

 

</body>


前面的3D商品展示中已经说过如何制作正方体,并且那个上面还有数字,理论上说比这个复杂,虽然木有这个炫~这里就不多说了。

CSS:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

html

       {

           background: -webkit-radial-gradient(center, ellipse, #430d6d 0%, #000000 100%);

           background: radial-gradient(ellipse at center, #430d6d 0%, #000000 100%);

           height: 100%;

       }

 

       .stage

       {

           -webkit-perspective: 1000px;

           width: 20em;

           height: 20em;

           left: 50%;

           top: 50%;

           margin-left: -10em;

           margin-top: -10em;

           position: absolute;

       }

 

       .cube

       {

           position: absolute;

           width: 100%;

           height: 100%;

           -webkit-transform-style: preserve-3d;

           -webkit-transform: rotateX(-20deg) rotateY(-20deg);

       }

 

       .cube *

       {

           background: -webkit-linear-gradient(left, rgba(54, 226, 248, 0.5) 0px, rgba(54, 226, 248, 0.5) 3px, rgba(0, 0, 0, 0) 0px),

           -webkit-linear-gradient(top, rgba(54, 226, 248, 0.5) 0px, rgba(54, 226, 248, 0.5) 3px, rgba(0, 0, 0, 0) 0px);

           -webkit-background-size: 2.5em 2.5em;

 

           background-color: rgba(0, 0, 0, 0.5);

           position: absolute;

           width: 100%;

           height: 100%;

           border: 2px solid rgba(54, 226, 248, 0.5);

           -webkit-box-shadow: 0 0 5em rgba(0, 128, 0, 0.4);

 

       }

 

       .font

       {

           -webkit-transform: translateZ(10em);

       }

 

       .back

       {

           -webkit-transform: rotateX(180deg) translateZ(10em);

       }

 

       .left

       {

           -webkit-transform: rotateY(-90deg) translateZ(10em);

       }

 

       .right

       {

           -webkit-transform: rotateY(90deg) translateZ(10em);

       }

 

       .top

       {

           -webkit-transform: rotateX(90deg) translateZ(10em);

       }

 

       .bottom

       {

           -webkit-transform: rotateX(-90deg) translateZ(10em);

       }


同样:stage作为舞台,cube设置子元素的效果为3d,然后每个面都进行旋转和设置translateZ然后形成立方体。

阅读剩余部分

相关阅读 >>

HTML5怎么实现拖拽

h5拖放api进行拖放排序

使用adobe HTML5 extension的开发详解

HTML5和flash的区别有哪些

零基础学习HTML5

怎样用css3制作登录框

css3支持为网页添加多个背景图片吗

HTML5百叶窗效果的示例代码_HTML5教程技巧

HTML5中如何使用rel属性的预加载功能?

zip压缩和解压技术在HTML5中的应用的代码案例(图)

更多相关阅读请进入《HTML5》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...