首頁  >  文章  >  web前端  >  css3怎麼實現動畫結束不消失效果

css3怎麼實現動畫結束不消失效果

WBOY
WBOY原創
2022-03-29 17:06:502932瀏覽

css3中,可利用「animation-fill-mode」屬性來實現動畫結束不消失效果,該屬性可規定動畫不播放時元素的樣式,當屬性設定為forwards時,動畫效果不會消失,語法為“animation-fill-mode:forwards”。

css3怎麼實現動畫結束不消失效果

本教學操作環境:windows10系統、CSS3&&HTML5版、Dell G3電腦。

css3怎麼實現動畫結束不消失效果

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>

輸出結果:

css3怎麼實現動畫結束不消失效果

(學習影片分享:css影片教學

以上是css3怎麼實現動畫結束不消失效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn