本案例主要使用了CSS3中的变换transform和动画animation属性,实现了跑马灯效果,详细的解释在代码中的注释中。
做好布局之后的效果图
添加了animation样式,实现自动旋转,并且鼠标移入,停止动画。(鼠标移入,绕Z轴旋转90度)
代码:
1 DOCTYPE html >
2 html lang ="en" >
3 head >
4 meta charset ="UTF-8" >
5 title > 3D旋转 title >
6 script src ='jquery-3.0.0.min.js' > script >
7 style >
8 * {
9 margin : 0 ;
10 padding : 0 ;
11 }
12 .container {
13 /* 指定观察者与平面的距离,使有透视效果 */
14 /* 若无法正常3d效果,将perspective属性提到更上一个父容器即可(此处已上提,从items-->container) */
15 perspective : 1000px ;
16 /* 让container的伪类有过渡效果--51-54行 */
17 /* transition: all 1s; */
18 }
19 .items {
20 width : 200px ;
21 height : 200px ;
22 border : 1px solid #c18 ;
23 margin : 200px auto ;
24 /* 指定子元素定位在三维空间内 */
25 transform-style : preserve-3d ;
26 /* 让所有item的父级元素(即items)旋转,item就是围绕着旋转了 */
27 animation : autoMove 10s infinite linear ;
28
29 }
30 .item {
31 width : 200px ;
32 height : 200px ;
33 background-color : skyblue ;
34 opacity : .6 ;
35 font-size : 200px ;
36 line-height : 200px ;
37 text-align : center ;
38 position : absolute ;
39 }
40 /* 定义自动旋转的动画 */
41 @keyframes autoMove {
42 from { }
43 to {
44 transform : rotateY(-360deg) ;
45 }
46 }
47 .items:hover {
48 /* 鼠标移入 暂停动画 */
49 animation-play-state : paused ;
50 }
51 .container:hover {
52 /* 鼠标移入,绕Z轴旋转90deg */
53 /* transform: rotateZ(90deg); */
54 }
55 style >
56 script >
57 $( function () {
58 var itemNum = $( " .container .items .item " ).length; // 要旋转的div的数量
59 var itemDeg = 360 / itemNum; // 计算平均偏移角度,后面的itemDeg*index是不同索引div的偏移角度
60 $( " .items>.item " ).each( function (index, element) {
61 $(element).css({
62 // 给每一个item设置好位置
63 // rotateY让每一个item绕着Y轴偏移,itemDeg*index是不同索引div的偏移角度
64 // translateZ是控制item在角度偏移后,往他们的正上方移动的距离,数值越大旋转的范围越大
65 transform: " rotateY( " + itemDeg * index + " deg) translateZ(280px) "
66 });
67 });
68 });
69 script >
70 head >
71 body >
72 div class ="container" >
73 div class ="items" >
74 简便起见,用背景色和数字代替图片 -->
75 div class ="item" > 1 div >
76 div class ="item" > 2 div >
77 div class ="item" > 3 div >
78 div class ="item" > 4 div >
79 div class ="item" > 5 div >
80 div class ="item" > 6 div >
81 div >
82 div >
83 body >
84 html >
查看更多关于CSS33D旋转图(跑马灯效果图)的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did101838