0
点赞
收藏
分享

微信扫一扫

3D轮播图(纯css)

爱动漫建模 2022-01-23 阅读 149
css3dcss3

html

    <div class="container">
    <div class="card-box">
      <div class="card">
        <img src="./img/1.jpg" alt="">
      </div>
      <div class="card">
        <img src="./img/2.jpg" alt="">
      </div>
      <div class="card">
        <img src="./img/3.jpg" alt="">
        </div>
      <div class="card">
        <img src="./img/4.jpg" alt="">
        </div>
    </div>
    </div>

css

  .container{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 270px;
    height: 600px;
    /* border: 1px dashed #fff; */
    perspective: 1000px;
    position: relative;
  }

  .card-box{
    position: absolute;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transform: rotateY(0) translateZ(-700px);
    animation: cardRotate 10s cubic-bezier(0.77,0,0.175,1) infinite;
  }

  .card{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 270px;
    height: 600px;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-box-reflect: below 15px
    -webkit-linear-gradient(transparent 50%,rgba(255,255,255,0.3));
  }

  .card img{
    width: 100%;
    height: 100%;
  }

  .card:nth-child(1){
    transform: rotateY(0) translateZ(700px);
  }
  
  .card:nth-child(2){
    transform: rotateY(90deg) translateZ(700px);
  }
  
  .card:nth-child(3){
    transform: rotateY(180deg) translateZ(700px);
  }
  
  .card:nth-child(4){
    transform: rotateY(270deg) translateZ(700px);
  }

  @keyframes cardRotate{
    0%,20%{
      transform: translateZ(-700px) rotateY(0);
    }
    40%{
      transform: translateZ(-700px) rotateY(-90deg);
    }
    60%{
      transform: translateZ(-700px) rotateY(-180deg);
    }
    80%{
      transform: translateZ(-700px) rotateY(-270deg);
    }
    100%{
      transform: translateZ(-700px) rotateY(-360deg);
    }
  }

 

 

 

举报

相关推荐

0 条评论