<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CSS3图片万花筒3D旋转动画特效</title>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js" type="text/javascript"></script>
<style>
* {
padding: 0;
margin: 0;
}
img {
width: 200px;
height: 300px;
}
body {
background-color: #fff;
}
/* 动画 沿着X轴倾斜-15deg,动画沿着Y轴旋转 */
@keyframes fn {
0% {
transform: rotateX(-15deg) rotateY(0deg);
}
100% {
transform: rotateX(-15deg) rotateY(360deg);
}
}
@-moz-keyframes fn {
0% {
transform: rotateX(-15deg) rotateY(0deg);
}
100% {
transform: rotateX(-15deg) rotateY(360deg);
}
}
@-ms-keyframes fn {
0% {
transform: rotateX(-15deg) rotateY(0deg);
}
100% {
transform: rotateX(-15deg) rotateY(360deg);
}
}
@-webkit-keyframes fn {
0% {
transform: rotateX(-15deg) rotateY(0deg);
}
100% {
transform: rotateX(-15deg) rotateY(360deg);
}
}
/* 动画加给了父盒子 */
.box {
width: 200px;
height: 300px;
position: relative;
margin: auto;
margin-top: 150px;
transform-style: preserve-3d;
transform: rotateX(-10deg);
animation: fn 10s;
animation-iteration-count: infinite;
animation-timing-function: linear;
position: relative
}
/* 鼠标滑过,停止旋转*/
.box:hover {
animation-play-state: paused;
}
.box>div {
width: 200px;
height: 300px;
position: absolute;
left: 0;
top: 0;
}
</style>
</head>
<body>
<div class="box">
<!-- 图片 -->
<div>
<img src="https://img1.baidu.com/it/u=2519912129,4264910682&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500">
</div>
<div>
<img src="https://img2.baidu.com/it/u=148808237,2924100619&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500">
</div>
<div>
<img src="https://img0.baidu.com/it/u=1086697265,3145411761&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=332">
</div>
<div>
<img src="https://img0.baidu.com/it/u=1348859053,1340239256&fm=253&fmt=auto&app=120&f=JPEG?w=680&h=453">
</div>
<div>
<img src="https://img0.baidu.com/it/u=1159606524,30417437&fm=253&fmt=auto&app=138&f=JPEG?w=755&h=500">
</div>
<div>
<img src="https://img2.baidu.com/it/u=1557726807,2693077908&fm=253&fmt=auto&app=138&f=JPEG?w=695&h=500">
</div>
<div>
<img src="https://img0.baidu.com/it/u=2463602844,2410523677&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=333">
</div>
</div>
<script>
$(function() {
var imgL = $(".box div").size();
console.log(imgL)
var deg = 360 / (imgL - 1);
//注意这边是遍历,别忘记i
$(".box div").each(function(i) {
$(this).css({
// <!--translateZ 定义2d旋转沿着z轴-->
"transform": "rotateY(" + i * deg + "deg) translateZ(275px)"
});
// <!--防止图片被拖拽-->
$(this).attr('ondragstart', 'return false');
});
})
</script>
</div>
</body>
</html>