上下文:
創建CSS 動畫可以成為添加視覺效果的強大工具對網頁的影響。但是,當動畫設定為無限重複時,設定animation-delay屬性來延遲動畫的開始可能會導致意外的行為。
問題:
是可以確保animation-delay屬性適用於重複CSS動畫的所有迭代,而不僅僅是第一個迭代?
答案:
不,animation-delay 屬性不能應用於重複 CSS 動畫的所有迭代。將初始延遲應用於第一次迭代後,即使指定了動畫延遲,後續迭代也將立即開始。
解決方法:
常見解決方法就是以與初始關鍵影格相同的任意百分比(例如 80%)建立新關鍵影格。這透過用不可見的時間段填充動畫來有效地創建延遲。但是,如果需要延遲,此方法可能會導致更長的動畫。
另一種方法是使用具有不同持續時間的多個關鍵影格來建立所需的延遲。例如,要實現 4 秒延遲,然後播放 1 秒動畫,可以使用以下關鍵影格:
@keyframes my-animation { 0% { ... } 80% { ... } 90% { ... } 100% { ... } }
將動畫持續時間設為 5 秒將導致 4 秒延遲動畫開始之前。
限制:
值得請注意,animation-delay 屬性適用於整個動畫,包括所有迭代。因此,如果您需要使用相同動畫為不同元素提供不同的延遲,則必須使用替代方法,例如建立具有不同延遲的單獨動畫。
以上是CSS `animation-delay` 是否會影響重複動畫的所有迭代?的詳細內容。更多資訊請關注PHP中文網其他相關文章!