CSS3 動畫是 Web 開發領域中比較熱門的技術之一。除了實現簡單的過渡效果以外,它還可以讓我們實現更為復雜的動畫效果。而延遲(delay)屬性為 CSS3 動畫提供了更多的靈活性和可操作性。
我們可以通過將 delay 屬性設置為一定的時間(單位為秒或毫秒)來控制動畫效果的開始時間。在動畫定義時設置 delay 屬性,當元素展現在屏幕上時,它會等待一段時間(delay 的值)然后再開始播放動畫。
div { width: 100px; height: 100px; background-color: red; animation-name: myFirstAnimation; animation-duration: 4s; animation-delay: 2s; // 設置延遲 } @keyframes myFirstAnimation { 0% { transform: scale(1); } 50% { transform: scale(2); } 100% { transform: scale(1); } }
上面的代碼會讓一個紅色的 div 元素開始一個 4 秒鐘的縮放動畫,但是在動畫之前等待了 2 秒鐘。這樣我們可以通過設置 delay 屬性,控制動畫的開始時間,從而實現更為巧妙的效果。
需要注意的是,設置了 delay 屬性的元素在動畫開始前依然會出現在屏幕上。所以如果我們想等到元素完全不出現,再播放動畫,可以將 opacity 屬性設置為 0(即透明度為 0),或者將 visibility 屬性設置為 hidden(即隱藏元素)。
div { width: 100px; height: 100px; background-color: red; animation-name: myFirstAnimation; animation-duration: 4s; animation-delay: 2s; opacity: 0; // 元素不出現在屏幕上 } @keyframes myFirstAnimation { 0% { transform: scale(1); } 50% { transform: scale(2); } 100% { transform: scale(1); } }
通過使用 CSS3 動畫的延遲屬性,我們可以更加自由靈活的控制元素的動畫效果。它是 Web 開發過程中非常有用的技術,值得我們多加嘗試和運用!