在
css3中,可利用「animation-fill-mode」屬性來實現動畫結束不消失效果,該屬性可規定動畫不播放時元素的樣式,當屬性設定為forwards時,動畫效果不會消失,語法為“animation-fill-mode:forwards”。
本教學操作環境:windows10系統、CSS3&&HTML5版、Dell G3電腦。
animation-fill-mode 屬性規定當動畫不播放時(當動畫完成時,或當動畫有一個延遲未開始播放時),要套用到元素的樣式。
預設情況下,CSS 動畫在第一個關鍵影格播放完之前不會影響元素,在最後一個關鍵影格完成後停止影響元素。 animation-fill-mode 屬性可重寫該行為。
CSS 語法
animation-fill-mode: none|forwards|backwards|both|initial|inherit;
none 預設值。動畫在動畫執行之前和之後不會套用任何樣式到目標元素。
forwards 在動畫結束後(由 animation-iteration-count 決定),動畫將套用該屬性值。
backwards 動畫將套用在 animation-delay 定義期間啟動動畫的第一次迭代的關鍵影格中定義的屬性值。這些都是 from 關鍵影格中的值(當 animation-direction 為 "normal" 或 "alternate" 時)或 to 關鍵影格中的值(當 animation-direction 為 "reverse" 或 "alternate-reverse" 時)。
both 動畫遵循 forwards 和 backwards 的規則。也就是說,動畫會在兩個方向上擴展動畫屬性。
initial 設定該屬性為它的預設值。
inherit 從父元素繼承該屬性。
範例如下:
<html> <head> <meta charset="utf-8"> <title>123</title> <style> div { width:100px; height:100px; background:red; position:relative; animation:mymove 3s; animation-iteration-count:2; animation-fill-mode:forwards; /* Safari 和 Chrome */ -webkit-animation:mymove 3s; -webkit-animation-iteration-count:2; -webkit-animation-fill-mode:forwards; } @keyframes mymove { from {top:0px;} to {top:200px;} } @-webkit-keyframes mymove /* Safari 和 Chrome */ { from {top:0px;} to {top:200px;} } </style> </head> <body> <p><strong>注意:</strong>Internet Explorer 9 及其之前的版本不支持 animation-fill-mode 属性。</p> <div></div> </body> </html>
輸出結果:
(學習影片分享:css影片教學)
以上是css3怎麼實現動畫結束不消失效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!