一个朋友让帮忙看一下微信开红包动画怎么实现,用最简单的方法,最简洁的代码来实现,作为一个前端,我决定能用css来实现的动画就不用js
 
html代码,我简单用两个div来代替,实现微信动画就把两个div放2张图片
1 <div class="box-out">
2     <div class="inner"></div>
3     <div class="inner2"></div>
4 </div>
 
css代码
.box-out {
    border: 3px solid black;
    width: 80px;
    height: 100px;
    margin: 100px auto;
    position: relative;
    border-radius: 10px;
}
        
.inner,
.inner2 {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 80px;
    height: 100px;
    border-radius: 6px;
    backface-visibility: hidden;
    /* 不面对屏幕时不可见 */
}
        
.inner {
    background-color: red;
}
        
.inner2 {
    background-color: blue;
    transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
}
        
.box-out.move {
    animation: 3s move infinite;
    transform-style: preserve-3d;
}
        
@keyframes move {
    0% {
      transform: rotateY(0deg);
       -webkit-transform: rotateY(0deg);
    }
    100% {
       transform: rotateY(360deg);
       -webkit-transform: rotateY(360deg);
    }
}

 

然后给父级div加一个点击事件,就可以了

var inner = document.getElementsByClassName('box-out')[0];
inner.addEventListener('click', () => {
      inner.classList.add('move')
}
posted on 2019-08-19 09:51  Genia  阅读(3144)  评论(0编辑  收藏  举报