<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>CSS3 3D切割轮播图</title>
<style>
body {
margin: 0;
padding: 0;
}
ul {
margin: 0;
padding: 0;
list-style: none;
height: 100%;
width: 100%;
}
.view {
width: 560px;
height: 300px;
border: 1px solid #ccc;
margin: 100px auto;
position: relative;
}
/*大盒子*/
.view ul {
width: 560px;
height: 300px;
/*3d呈现*/
/*transform-style: preserve-3d;*/
}
.view ul li {
width: 112px;
height: 300px;
float: left;
position: relative;
/*3d呈现*/
transform-style: preserve-3d;
}
.view ul li span {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
.view ul li span:nth-child(1) {
background-image: url("images/1.jpg");
background-repeat: no-repeat;
transform:translateZ(150px);
}
.view ul li span:nth-child(2) {
background-image: url("images/2.jpg");
background-repeat: no-repeat;
transform: translateY(-150px) rotateX(90deg);
}
.view ul li span:nth-child(3) {
background-image: url("images/3.jpg");
background-repeat: no-repeat;
transform: translateZ(-150px) rotateX(180deg);
}
.view ul li span:nth-child(4) {
background-image: url("images/4.jpg");
background-repeat: no-repeat;
transform: translateY(150px) rotateX(270deg);
}
.view ul li:nth-child(2) span {
background-position: -112px;
}
.view ul li:nth-child(3) span {
background-position: -224px;
}
.view ul li:nth-child(4) span {
background-position: -336px;
}
.view ul li:nth-child(5) span {
background-position: -448px;
}
/*3d转换 旋转*/
.view ul li {
transition: all 1s;
/*transform: translateZ(150px);*/
/*transform-origin: center center -150px;*/
}
/*按钮*/
.prev, .next {
display: block;
width: 60px;
height: 60px;
text-align: center;
line-height: 60px;
margin-top: -30px;
font-size: 40px;
color: #FFF;
text-decoration: none;
background-color: rgba(0, 0, 0, 0.5);
position: absolute;
top: 50%;
}
.next {
right: 0;
}
</style>
</head>
<body>
<div class="view">
<ul>
<li><span></span><span></span><span></span><span></span></li>
<li><span></span><span></span><span></span><span></span></li>
<li><span></span><span></span><span></span><span></span></li>
<li><span></span><span></span><span></span><span></span></li>
<li><span></span><span></span><span></span><span></span></li>
</ul>
<a href="javascript:;" class="prev"><</a>
<a href="javascript:;" class="next">></a>
</div>
<script src="js/jquery.min.js"></script>
<script>
$(function () {
var count = 0;
$('.prev').on('click', function () {
count ++;
$('li').css('transform','rotateX('+count*90+'deg)').each(function(index){
$(this).css('transition-delay',index*0.25+'s');
});
})
$('.next').on('click', function () {
count -- ;
$('li').css('transform','rotateX('+count*90+'deg)').each(function(index){
$(this).css('transition-delay',index*0.25+'s');
});
})
});
</script>
</body>
</html>