国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

CSS3動畫animation相關屬性與關鍵幀規則keyframes的詳細介紹

來源:懂視網 責編:小采 時間:2020-11-27 18:51:37
文檔

CSS3動畫animation相關屬性與關鍵幀規則keyframes的詳細介紹

CSS3動畫animation相關屬性與關鍵幀規則keyframes的詳細介紹:我昨天寫三維正方體的時候,就用到了動畫的語法 今天就來系統復習一下 過渡transition有著它的局限性 雖然簡單,但是它只能在兩個狀態之間改變 并且它需要事件的驅動才能夠進行 不能夠自己運動 所以為了解決這樣的問題 我們需要animation動畫動畫若想實現
推薦度:
導讀CSS3動畫animation相關屬性與關鍵幀規則keyframes的詳細介紹:我昨天寫三維正方體的時候,就用到了動畫的語法 今天就來系統復習一下 過渡transition有著它的局限性 雖然簡單,但是它只能在兩個狀態之間改變 并且它需要事件的驅動才能夠進行 不能夠自己運動 所以為了解決這樣的問題 我們需要animation動畫動畫若想實現

我昨天寫三維正方體的時候,就用到了動畫的語法

今天就來系統復習一下
過渡transition有著它的局限性
雖然簡單,但是它只能在兩個狀態之間改變
并且它需要事件的驅動才能夠進行
不能夠自己運動
所以為了解決這樣的問題
我們需要animation動畫

動畫

若想實現動畫效果
僅僅有animation屬性是不夠的
我們還需要@keyframes規則
先來看一個例子

p class="demo"></p>
.demo { width: 100px; height: 100px; background-color: gold;}.demo:hover { animation: change 2s linear;}@keyframes change {
 0% { background-color: red; }
 50% { background-color: purple; }
 100% { background-color: lime; }}

當鼠標懸浮時,元素先變紅然后過渡到紫色有過渡到綠色

我們先來看看@keyframes 規則

keyframes

在@keyframes中,我們定義動畫關鍵幀
然后animation會按照keyframes關鍵幀里我們指定的幀狀態進行過渡執行
0% - 100% 就代表動畫的時間過渡
規則中的0%和100%,
可以替換成from和to關鍵字

@keyframes xxx { from { ......
 }
 to {
 ......
 }
}

如果我們省略了起始幀,瀏覽器會按照它最初的樣式進行過渡

@keyframes change {
 100% { background-color: lime; }}


除此之外,我們還可以把相同的幀寫在一起像這樣

@keyframes change { from,to { background-color: red; }
 50% { background-color: blue; }}

animation

animation是一個復合屬性,有以下子屬性

  • animation-name
    指定keyframes動畫的名稱

  • animation-duration
    指定動畫執行時間

  • animation-timing-function
    指定動畫的速度曲線,默認“ease”緩動

  • animation-delay
    指定動畫延遲時間,默認“0”無延遲

  • animation-iteration-count
    指定動畫播放的次數,默認“1”執行1次

  • animation-direction
    規定動畫執行方向,默認“normal”

  • 這個復合屬性比我們的transition要復雜一些
    前四個屬性就不多解釋了,類似于我們的transition
    忘了的同學,戳這里->傳送門

    animation-iteration-count動畫播放次數我們除了填寫數字之外
    還可以使用一個常用的關鍵字infinite無限循環

    animation-direction除了normal以外還有如下屬性值

  • reverse
    反向播放動畫

  • alternate
    輪流播放動畫

  • alternate-reverse
    反向輪流播放動畫

  • 通過一個例子來解釋

    .demo { width: 100px; height: 100px; background-color: gold;}.demo:hover { animation: change 1s 2 linear;}@keyframes change { to { width: 200px; }}

    默認normal:

    兩次測試動畫:
    100px -> 200px
    100px -> 200px


    .demo:hover { animation: change 1s 2 linear reverse; /*改*/}

    reverse:

    兩次測試動畫:
    200px -> 100px
    200px -> 100px


    .demo:hover { animation: change 1s 2 linear alternate; /*改*/}

    alternate:

    兩次測試動畫:
    100px -> 200px
    200px -> 100px


    .demo:hover { animation: change 1s 2 linear alternate-reverse; /*改*/}

    alternate-reverse:

    兩次測試動畫:
    200px -> 100px
    100px -> 200px

    animation-fill-mode

    下面我要講的兩個屬性都不是animation的子屬性
    所以不能寫在animation中

    animation-fill-mode規定對象動畫時間之外的狀態,默認“none”
    除了none以外還有如下屬性值

  • forwards
    動畫完成后,保持最后一個屬性(定義在最后一幀)

  • backwards
    在animation-delay指定時間內、動畫顯示之前,應用起始屬性(定義在第一幀)

  • both
    應用forwards和backwards兩種模式


  • forwards
    這個屬性還是蠻有用的
    還是我們上面的例子

    .demo:hover { animation: change 1s linear; /*改*/
     animation-fill-mode: forwards; /*改*/}


    我們發現1s之后,元素并沒有回到最初的100px,而是保持了我們最后一幀的200px狀態


    backwards
    理解這個屬性,我們需要先加一個延時

    .demo:hover { animation: change 1s linear 1s; /*改*/
     /*animation-fill-mode: backwards;*/ /*待增*/}@keyframes change { from { /*增*/
     width: 150px; }
     to { width: 200px; }}

    我就不配圖了
    我們發現鼠標懸浮后,1s后瞬間變為150px,然后再過渡到200px
    hover-0s -> 1s -> 2s
    100px ->瞬變150px –> 過渡到200px

    現在增加backwards

    .demo:hover { animation: change 1s linear 1s; /*改*/
     animation-fill-mode: backwards; /*增*/}

    這回我們發現鼠標懸浮的一瞬間就變為15px,然后1s后過渡到200px
    hover-0s -> 1s -> 2s
    瞬變150px ->150px –> 過渡到200px
    這就是backwards的作用,延遲前就應用第一幀動畫的樣式,然后準備過渡

    animation-play-state

    animation-play-state 指定動畫的運行或暫停。默認 “running”
    除了running還有paused
    利用這個屬性再配合js我們可以控制動畫的暫停和運行

    demo.style.animationPlayState = "paused";

    今天的動畫就先寫這么多,感覺寫了很長時間
    日后再總結動畫相關的性能問題

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    CSS3動畫animation相關屬性與關鍵幀規則keyframes的詳細介紹

    CSS3動畫animation相關屬性與關鍵幀規則keyframes的詳細介紹:我昨天寫三維正方體的時候,就用到了動畫的語法 今天就來系統復習一下 過渡transition有著它的局限性 雖然簡單,但是它只能在兩個狀態之間改變 并且它需要事件的驅動才能夠進行 不能夠自己運動 所以為了解決這樣的問題 我們需要animation動畫動畫若想實現
    推薦度:
    標簽: 規則 動畫 相關
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产成人一区二区 | 亚洲欧洲国产经精品香蕉网 | 亚洲色图日韩精品 | 久久综合中文字幕一区二区 | 91香蕉国产亚洲一区二区三区 | 92国产福利久久青青草原 | 亚洲第一页中文字幕 | 久久久久久综合一区中文字幕 | 三区在线观看 | 国产精品成人一区二区三区 | 亚洲精品国产字幕久久vr | 国产精品1区2区3区在线播放 | 福利视频一区二区 | 国产精品久久久久久久y | 欧美 亚洲 另类 热图 | 久久久久久亚洲精品影院 | 国产亚洲欧美一区二区 | 在线日韩欧美 | 精品国产一区二区三区免费看 | 国产成人亚洲欧美三区综合 | 亚洲国产精品一区二区久久 | 五月天婷婷综合 | 亚洲va国产日韩欧美精品 | 国产精品久久久久国产精品 | 国内精品一级毛片免费看 | 黄色国产在线 | 欧美日韩中文国产 | 日韩中文字幕a | 看全色黄大色大片免费久久久 | 欧美极品欧美日韩 | 爽妇网s | 国产毛片一区二区三区精品 | 青青国产成人久久91网 | 欧美在线视频免费 | 亚洲一区日韩二区欧美三区 | 禽交| 欧美激情亚洲图片 | 久久久久久国产a免费观看黄色大片 | 国产麻豆精品免费密入口 | 欧美日韩亚洲区久久综合 | 国产精品一区二区久久 |