CSS3 動畫可以為網頁增添生動的效果,其中重復播放動畫是一個常見的需求。下面介紹如何使用 CSS3 動畫重復播放。
首先,必須指定動畫的播放次數。可以使用animation-iteration-count
屬性來指定動畫的播放次數:
.my-animation { animation-iteration-count: 2; /* 播放兩次 */ }
如果要讓動畫無限循環播放,可以將屬性值設為infinite
:
.my-animation { animation-iteration-count: infinite; /* 無限循環 */ }
除了指定播放次數外,還可以利用@keyframes
規則來控制動畫的播放順序和效果。需要通過指定不同的關鍵幀來定義動畫的變化過程。如下面的例子,定義了一個尺寸交替變化的動畫:
@keyframes resize { from { width: 100px; height: 100px; } to { width: 200px; height: 200px; } from { width: 200px; height: 200px; } to { width: 100px; height: 100px; } } .my-animation { animation-name: resize; animation-duration: 2s; animation-iteration-count: infinite; }
上面的例子定義了一個名為resize
的動畫,將其綁定到.my-animation
元素上。動畫的播放時間為 2 秒,且無限循環播放。在@keyframes
中,定義了兩個階段的交替變化,實現尺寸交替變化的效果。
除了from
和to
關鍵幀外,還可以使用百分比來控制動畫的變化過程:
@keyframes move { 0% { transform: translateX(0); } 50% { transform: translateX(100px); } 100% { transform: translateX(0); } } .my-animation { animation-name: move; animation-duration: 2s; animation-iteration-count: infinite; }
上面的例子定義了一個名為move
的動畫,將其綁定到.my-animation
元素上。動畫的播放時間為 2 秒,且無限循環播放。在@keyframes
中,定義了從原點開始到右邊 100px,再回到原點的變化過程。
總之,通過指定播放次數和控制動畫的變化過程,可以實現各種形式的重復播放動畫,為網頁帶來更加豐富的表現力。
下一篇css3 包含內邊距