<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=640,user-scalable=no,target-densitydpi=device-dpi" />
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="apple-mobile-web-app-status-bar-style" content="black"/>
<meta name="format-detection" content="telephone=no"/>
<style>
*{
margin:0;
padding: 0;
}
.demo{
width:500px;
height:500px;
margin:50px;
overflow: hidden;
-webkit-perspective: 800;
-webkit-perspective-origin: 50% 50%;
display: inline-block;
}
.block{
color:white;
position: relative;
font-size: 450px;
text-align: center;
line-height: 500px;
-webkit-transform-style: preserve-3d;
float:left;
}
.block li{
list-style-type: none;
width:500px;
height:500px;
background:#000;
position: absolute;
top:0;
left:0;
-webkit-transition:-webkit-transform 0.5s linear;
-webkit-transform:rotate3d(1,0,0,90deg);
-webkit-transform-origin:bottom;
}
.block .l1{
-webkit-transform:rotate3d(1,0,0,0deg);
}
.block2{
-webkit-transform-style: preserve-3d;
position: relative;
-webkit-animation:totate 13s linear infinite;
top:50%;
left:50%;
margin:-150px 0 0 -150px;
width: 300px;
height:300px;
}
@-webkit-keyframes totate{
0%{
-webkit-transform:rotateX(0) rotateY(360deg) rotateZ(180deg) translate3d(0,0,150px);
}
100%{
-webkit-transform:rotateX(360deg) rotateY(0deg) rotateZ(360deg) translate3d(0,0,150px);
}
}
.block2 li{
color:white;
width:300px;
height:300px;
font-size: 250px;
text-align: center;
line-height: 300px;
background:rgba(0,0,0,0.3);
position: absolute;
top:0;
list-style-type: none;
}
.l5{
left:0;
}
.l6{
-webkit-transform:translate3d(150px,0,-150px) rotate3d(0,1,0,90deg);
}
.l7{
-webkit-transform:translate3d(0,0,-300px) rotate3d(0,1,0,180deg);
}
.l8{
-webkit-transform:translate3d(-150px,0,-150px) rotate3d(0,1,0,270deg);
}
.l9{
-webkit-transform:translate3d(0,0,0) rotate3d(1,0,0,-90deg);
-webkit-transform-origin:top;
}
.l10{
-webkit-transform:translate3d(0,0,0) rotate3d(1,0,0,90deg);
-webkit-transform-origin:bottom;
}
</style>
</head>
<body>
<div class="demo">
<ul class="block">
<li class="l1">1</li>
<li class="l2">2</li>
<li class="l3">3</li>
<li class="l4">4</li>
</ul>
</div>
<div class="demo" class="demo2">
<ul class="block2">
<li class="l5">1</li>
<li class="l6">2</li>
<li class="l7">3</li>
<li class="l8">4</li>
<li class="l9">5</li>
<li class="l10">6</li>
</ul>
</div>
<button id="next">next</button>
<button id="prev">prev</button>
</body>
<script>
!(function(win,doc){
var i=1;
next.οnclick=function(){
if(i>3)return;
var oli=doc.querySelector(".l"+i),
olinext=doc.querySelector(".l"+(i+1));
oli.style.webkitTransform="rotate3d(1,0,0,"+(-90)+"deg)";
olinext.style.webkitTransform="rotate3d(1,0,0,"+(0)+"deg)";
i++;
}
prev.οnclick=function(){
if(i<2)return;
var oli=doc.querySelector(".l"+i),
olinext=doc.querySelector(".l"+(i-1));
oli.style.webkitTransform="rotate3d(1,0,0,"+(90)+"deg)";
olinext.style.webkitTransform="rotate3d(1,0,0,"+(0)+"deg)";
i--;
}
})(window,document)
</script>
</html>
CSS3 3D效果
最新推荐文章于 2024-06-26 14:03:25 发布