純css實現微信開紅包動畫


一個朋友讓幫忙看一下微信開紅包動畫怎么實現,用最簡單的方法,最簡潔的代碼來實現,作為一個前端,我決定能用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')
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM