1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        css3動畫保持狀態(tài)不變

        共 2002字,需瀏覽 5分鐘

         ·

        2022-03-04 22:24


        css3動畫在動作結束時保持該狀態(tài)不變的解決辦法

        animation-fill-mode : none | forwards | backwards | both;


        1、none:不改變默認行為。


        2、forwards :當動畫完成后,保持最后一個屬性值(在最后一個關鍵幀中定義)。


        3、backwards:在 animation-delay 所指定的一段時間內(nèi),在動畫顯示之前,應用開始屬性值(在第一個關鍵幀中定義)。


        4、both:向前和向后填充模式都被應用。



        CSS 動畫不會在第一個關鍵幀播放之前或在最后一個關鍵幀播放之后影響元素,比如下面的例子,0.3s播放完動畫之后元素會停留在0的位置,而不是100px的位置,而且元素是紅色的。


        <head>  <style>    @keyframes move {      0% {        transform: translate3d(0, 0, 0);        background: green;      }      100% {        transform: translate3d(100px, 0, 0);        background: yellow;      }    }    .box {      width: 100px;      height: 100px;      background: red;      animation: move 0.3s;    }style>head><body>  <div class="box">div>body>


        animation-fill-mode 屬性能夠覆蓋這種行為。

        在不播放動畫時(在開始之前,結束之后,或兩者都結束時),animation-fill-mode 屬性規(guī)定目標元素的樣式。


        下面的例子讓?

        ?元素在動畫結束時保留來自最后一個關鍵幀的樣式值,元素最后停留在100px的位置,而且元素是紅色的。


        .box {  width: 100px;  height: 100px;  background: pink;  animation: move 0.3s;  animation-fill-mode: forwards;}


        下面的例子在動畫開始之前(在動畫延遲期間)使?

        ?元素獲得由第一個關鍵幀設置的樣式值:


        <head>  <style>    @keyframes move {      0% {        transform: translate3d(0, 0, 0);        background: green;      }
        100% { transform: translate3d(100px, 0, 0); background: yellow; } }
        .box { width: 100px; height: 100px; background: red; animation: move 0.3s; animation-delay: 2s; animation-fill-mode: backwards; }style>head>
        <body> <div class="box">div>body>


        動畫設置的delay延遲時間是2s,所以動畫之前先由紅色變成綠色,然后2s之后開始動畫從綠色變成黃色經(jīng)過0.3s。由于backwards是開始應用第一幀,所以動畫結束之后又會變成紅色然后回到0的位置。


        下面的例子在動畫開始之前使?

        ?元素獲得第一個關鍵幀設置的樣式值,以及在動畫結束時保留最后一個關鍵幀的樣式值:


        <head>  <style>    @keyframes move {      0% {        transform: translate3d(0, 0, 0);        background: green;      }
        100% { transform: translate3d(100px, 0, 0); background: yellow; } }
        .box { width: 100px; height: 100px; background: red; animation: move 0.3s; animation-delay: 2s; animation-fill-mode: both; }style>head>
        <body> <div class="box">div>body>

        設置了both屬性,動畫之前先由紅色變成綠色,然后2s之后開始動畫從綠色變成黃色經(jīng)過0.3s,最后停留在100px的位置,元素也是黃色的。


        瀏覽 54
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            亚洲天堂地址 | 操逼视频图| 亚洲天堂网在线观看视频 | 在线看www| 青青草性爱| 激情五月开心 | 美女操逼大片 | 少妇被黑人嗷嗷大叫视频 | 小乔脱了内裤打开腿让人的漫画 | 国产免费看黄网站 |