CSS3制作炫酷切割效果轮播图

效果展示:
在这里插入图片描述
思路:
当你看到这张图的时候可能会有些启发。
在这里插入图片描述
没错就是生成一个正方体,让正方体进行旋转。那切割效果又是怎么做到的呢?
把每个面在平均分成五份,旋转的时候让每份有一个各自的延迟不就好了嘛。
代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		* {
			margin: 0;
			padding: 0;
		}
		ul {
			list-style: none;
		}
		.view {
			width: 500px;
			height: 300px;
			margin: 100px auto;
			position: relative;
		} 
		ul {
			width: 100%;
			height: 100%;
			transform-style:preserve-3d;
			transform:rotate3d(1,1,1,-60deg);		
		}
		ul > li {
			width: 20%;
			height: 100%;
			float: left;
			position: relative;
			transform-style:preserve-3d;
			transition:transform 0.5s;
		}
		ul > li > span{
			width: 100%;
			height: 100%;
			position: absolute;
			top:0;
			left: 0;
		}
		ul > li > span:nth-of-type(1) {
			background:url("images/q1.jpg");
			transform:translateZ(150px);
		}
		ul > li > span:nth-of-type(2) {
			background:url("images/q2.jpg");
			transform:translateY(-150px) rotateX(90deg);
		}
		ul > li > span:nth-of-type(3) {
			background:url("images/q3.jpg");
			transform:translateZ(-150px) rotateX(-180deg);
		}
		ul > li > span:nth-of-type(4) {
			background:url("images/q4.jpg");
			transform:translateY(150px) rotateX(-90deg);
		} 
		ul > li:nth-of-type(2) > span {
			background-position: -100%;
		}
		ul > li:nth-of-type(3) > span {
			background-position: -200%;
		}
		ul > li:nth-of-type(4) > span {
			background-position: -300%;
		}
		ul > li:nth-of-type(5) > span {
			background-position: -400%;
		}
		.array-l,.array-r{
			position: absolute;
			width: 40px;
			height: 30px;
			line-height: 30px;
			text-align: center;
			color:#ccc;
			font-size: 20px;
			background: rgba(0,0,0,0.1);
			top:50%;
			transform:translateY(-50%);
		}
		.array-r {
			right: 0;
		}
		.array-l:hover,.array-r:hover {
			background: rgba(0,0,0,0.4);
		}
	</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>
		<div class="array-l">&lt;</div>
		<div class="array-r">&gt;</div>
	</div>
	<script src="js/jquery.min.js"></script>
	<script>
	$(function(){
		var index = 0;
		var flag = true;
		$(".array-l").click(function(){
			if(flag==true) {
				flag=false;
				index++;
				$("li").each(function(key,value){
					$(this).css({"transform":"rotateX("+ index*90 +"deg)",
							"transition-delay":(key*0.1)+"s"
					});
				});
				flag=true;
			}		
		});
		$(".array-r").click(function(){
			if(flag==true) {
				flag=false;
				index--;
				$("li").each(function(key,value){
					$(this).css({"transform":"rotateX("+ index*90 +"deg)",
							"transition-delay":(key*0.1)+"s"
					});
				});
				flag=true;
			}		
		});
	});
	</script>
</body>
</html>
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值