好几天没有更新了 今天分享个主要是Css3的动画 加了点js 完成的3d轮播图

1.div布局
< div class=“stage”
<> div id=“box” class =“box”>
< div 1 /div>
< div2/ div>
< div3 /div>
< div 4 /div>
< div5 / div>
< / div>
</ div>
< button id=“next”>下一张< /button>

2.CSS样式
.stage{
height: 500px;
border:2px solid black;
position: relative;
perspective: 1000px;
}
.box{
width: 500px;
height: 300px;
position: absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
transform-style: preserve-3d;
}
.box div{
width: 500px;
height: 300px;
line-height: 300px;
text-align: center;
background-color: blueviolet;
font-size:80px;
color:white;
position: absolute;
top:0;
left:0;
border:5px solid black;
transition: all .5s;
}
.box div:nth-child(1){
transform: translateX(-500px) translateZ(-200px) rotateY(-30deg);
}
.box div:nth-child(2){
transform: translateX(-250px) translateZ(-100px) rotateY(-15deg);
}
.box div:nth-child(3){
transform: translateZ(100px);
}
.box div:nth-child(4){
transform: translateX(250px) translateZ(-100px) rotateY(15deg);
}
.box div:nth-child(5){
transform: translateX(500px) translateZ(-200px) rotateY(30deg);
}
3.一点js

      var positions=[
    "translateX(-500px) translateZ(-200px)  rotateY(30deg)",
    "translateX(-250px) translateZ(-100px)  rotateY(15deg)",
    "translateZ(100px)",
    "translateX(250px) translateZ(-100px)  rotateY(-15deg)",
    "translateX(500px) translateZ(-200px)  rotateY(-30deg)"
    ]

var imgs=box.children;

next.onclick=function(){

    // 调整坑位顺序
    // positions.push(positions.shift());
    positions.unshift(positions.pop());
    
    for(var i=0;i<imgs.length;i++){
        imgs[i].style.transform=positions[i];
    }

}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值