CSS動畫是一種以視覺效果的方式呈現的網頁元素動態變化,而觸發CSS動畫的方式有多種。
第一種方式是在HTML元素中設置觸發條件。比如設置:hover偽類,當鼠標滑過該元素時,CSS動畫就會觸發。又比如設置:focus偽類,當該元素被選中時,CSS動畫就會觸發。
.box:hover{ animation: move 2s infinite; }
第二種方式是通過JavaScript來觸發CSS動畫。比如通過單擊按鈕或者其他操作,JS可以實現元素狀態的改變,進而調用CSS動畫。
var box = document.querySelector('.box'); box.addEventListener('click', function(){ box.classList.toggle('active'); });
第三種方式是在頁面滾動時觸發CSS動畫。這可以通過JavaScript監聽scroll事件,判斷元素是否在可視區域內并且沒有觸發動畫,如果是則調用相應的CSS動畫。
var box = document.querySelector('.box'); var triggerHeight = box.offsetTop - window.innerHeight; window.addEventListener('scroll', function(){ if(window.scrollY >triggerHeight && !box.classList.contains('active')){ box.classList.add('active'); } });
總之,CSS動畫的觸發方式有多種,具體選擇哪種方式需要根據項目實際情況進行判斷,以達到最佳效果。