CSS3 動畫是網頁設計中很重要的一個方面,可以讓頁面更加生動有趣。但是有些時候,我們希望動畫結束后元素可以消失或者隱藏起來,這時候就需要用到一些技巧了。
/* 方法一:使用animation-fill-mode */ .box { animation: myAnim 2s forwards; animation-fill-mode: forwards; } @keyframes myAnim { 0% { opacity: 0; } 100% { opacity: 1; } } /* 方法二:使用animationend事件 */ .box { animation: myAnim 2s; } @keyframes myAnim { 0% { opacity: 0; } 100% { opacity: 1; } } .box.hide { display: none; } document.querySelector('.box').addEventListener('animationend', function() { this.classList.add('hide'); });
方法一中,我們可以使用animation-fill-mode屬性來指定動畫結束后元素應該處于什么狀態,例如forwards表示動畫結束后元素應該保持當前狀態。這樣我們可以在動畫結束后,立即將元素消失或隱藏起來。
方法二中,則是通過javascript代碼來監聽animationend事件,一旦事件觸發,將元素隱藏起來。這個方法需要在css中定義一個.hide類,用來控制元素的隱藏。
這些方法都可以輕松實現動畫結束后元素的消失或隱藏,希望對大家有所幫助。
上一篇css3 動畫使用
下一篇css3 動畫緩慢移動