日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
CSS動畫(animation)10分鐘入門教程
通過《CSS過渡》一節(jié)的學習我們知道,利用 transition 屬性可以實現(xiàn)簡單的過渡動畫,但過渡動畫僅能指定開始和結束兩個狀態(tài),整個過程都是由特定的函數(shù)來控制的,不是很靈活。本節(jié)我們再來介紹一種更為復雜的動畫 —— animation。

創(chuàng)新互聯(lián)公司基于分布式IDC數(shù)據中心構建的平臺為眾多戶提供四川綿陽服務器托管 四川大帶寬租用 成都機柜租用 成都服務器租用。

CSS 中的動畫類似于 flash 中的逐幀動畫,表現(xiàn)細膩并且非常靈活,使用 CSS 中的動畫可以取代許多網頁中的動態(tài)圖像、Flash 動畫或者 JavaScript 實現(xiàn)的特殊效果。

@keyframes 規(guī)則

要創(chuàng)建 CSS 動畫,您首先需要了解 @keyframes 規(guī)則,@keyframes 規(guī)則用來定義動畫各個階段的屬性值,類似于 flash 動畫中的關鍵幀,語法格式如下:

@keyframes animationName {
    from {
        properties: value;
    }
    percentage {
        properties: value;
    }
    to {
        properties: value;
    }
}
// 或者
@keyframes animationName {
    0% {
        properties: value;
    }
    percentage {
        properties: value;
    }
    100% {
        properties: value;
    }
}

語法說明如下:

  • animationName:表示動畫的名稱;
  • from:定義動畫的開頭,相當于 0%;
  • percentage:定義動畫的各個階段,為百分比值,可以添加多個;
  • to:定義動畫的結尾,相當于 100%;
  • properties:不同的樣式屬性名稱,例如 color、left、width 等等。

下面我們來看一個簡單的 @keyframes 規(guī)則示例:

@keyframes ball {
    0% { top: 0px; left: 0px;}
    25% { top: 0px; left: 350px;}
    50% { top: 200px; left: 350px;}
    75% { top: 200px; left: 0px;}
    100% { top: 0px; left: 0px;} 
}

動畫創(chuàng)建好后,還需要將動畫應用到指定的 HTML 元素。要將動畫應用到指定的 HTML 元素需要借助 CSS 屬性,CSS 中提供了如下所示的動畫屬性:

  • animation-name:設置需要綁定到元素的動畫名稱;
  • animation-duration:設置完成動畫所需要花費的時間,單位為秒或毫秒,默認為 0;
  • animation-timing-function:設置動畫的速度曲線,默認為 ease;
  • animation-fill-mode:設置當動畫不播放時(動畫播放完或延遲播放時)的狀態(tài);
  • animation-delay:設置動畫開始之前的延遲時間,默認為 0;
  • animation-iteration-count:設置動畫被播放的次數(shù),默認為 1;
  • animation-direction:設置是否在下一周期逆向播放動畫,默認為 normal;
  • animation-play-state:設置動畫是正在運行還是暫停,默認是 running;
  • animation:所有動畫屬性的簡寫屬性。

下面就來詳細介紹一下上述屬性的使用。

animation-name

animation-name 屬性用來將動畫綁定到指定的 HTML 元素,屬性的可選值如下:

描述
keyframename 要綁定到 HTML 元素的動畫名稱,可以同時綁定多個動畫,動畫名稱之間使用逗號進行分隔
none 表示無動畫效果,

示例代碼如下:




    


    

注意:要想讓動畫成功播放,您還需要定義 animation-duration 屬性,否則會因為 animation-duration 屬性的默認值為 0,導致動畫并不會播放。

animation-duration

animation-duration 屬性用來設置動畫完成一個周期所需要花費的時間,單位為秒或者毫秒。示例代碼如下:




    


    

運行結果如下圖所示:



圖:animation-duration 屬性演示

提示:動畫若想成功播放,必須要定義 animation-name 和 animation-duration 屬性。

animation-timing-function

animation-timing-function 屬性用來設置動畫播放的速度曲線,通過速度曲線的設置可以使動畫播放的更為平滑。animation-timing-function 屬性的可選值如下表所示:

描述
linear 動畫從開始到結束的速度是相同的
ease 默認值,動畫以低速開始,然后加快,在結束前變慢
ease-in 動畫以低速開始
ease-out 動畫以低速結束
ease-in-out 動畫以低速開始,并以低速結束
cubic-bezier(n, n, n, n) 使用 cubic-bezier() 函數(shù)來定義動畫的播放速度,參數(shù)的取值范圍為 0 到 1 之間的數(shù)值

示例代碼如下:




    


    
ease
ease-in
ease-out
ease-in-out

運行結果如下圖所示:



圖:animation-timing-function 屬性演示

animation-fill-mode

animation-fill-mode 屬性用來設置當動畫不播放時(開始播放之前或播放結束之后)動畫的狀態(tài)(樣式),屬性的可選值如下:

描述
none 不改變動畫的默認行為
forwards 當動畫播放完成后,保持動畫最后一個關鍵幀中的樣式
backwards 在 animation-delay 所指定的時間段內,應用動畫第一個關鍵幀中的樣式
both 同時遵循 forwards 和 backwards 的規(guī)則

示例代碼如下:




    


    
forwards

animation-delay

animation-delay 屬性用來定義動畫開始播放前的延遲時間,單位為秒或者毫秒,屬性的語法格式如下:

animation-delay: time;

其中參數(shù) time 就是動畫播放前的延遲時間,參數(shù) time 既可以為正值也可以為負值。參數(shù)值為正時,表示延遲指定時間開始播放;參數(shù)為負時,表示跳過指定時間,并立即播放動畫。

示例代碼如下:




    


    
0.5s
-0.5s

運行結果如下圖所示:



圖:animation-delay 屬性演示

animation-iteration-count

animation-iteration-count 屬性用來定義動畫播放的次數(shù),屬性的可選值如下:

描述
n 使用具體數(shù)值定義動畫播放的次數(shù),默認值為 1
infinite 表示動畫無限次播放

示例代碼如下:




    


    
1
infinite

運行結果如下圖所示:



圖:animation-iteration-count 屬性演示

animation-direction

animation-direction 屬性用來設置是否輪流反向播放動畫,屬性的可選值如下:

描述
normal 以正常的方式播放動畫
reverse 以相反的方向播放動畫
alternate 播放動畫時,奇數(shù)次(1、3、5 等)正常播放,偶數(shù)次(2、4、6 等)反向播放
alternate-reverse 播放動畫時,奇數(shù)次(1、3、5 等)反向播放,偶數(shù)次(2、4、6 等)正常播放

示例代碼如下:




    


    
reverse
alternate

運行結果如下圖所示:



圖:animation-direction 屬性演示

animation-play-state

animation-play-state 屬性用來設置動畫是播放還是暫停,屬性的可選值如下:

描述
paused 暫停動畫的播放
running 正常播放動畫

示例代碼如下:




    


    
running
paused

運行結果如下圖所示:



圖:animation-play-state 屬性演示

animation

animation 屬性是 animation-name、animation-duration、animation-timing-function、animation-delay、animation-iteration-count、animation-direction、animation-fill-mode、animation-play-state 幾個屬性的簡寫形式,通過 animation 屬性可以同時定義上述的多個屬性,語法格式如下:

animation: animation-name animation-duration animation-timing-function animation-delay animation-iteration-count animation-direction animation-fill-mode animation-play-state;

其中每個參數(shù)分別對應上面介紹的各個屬性,如果省略其中的某個或多個值,則將使用該屬性對應的默認值。

示例代碼如下:




    


    
animation

運行結果如下圖所示:



圖:animation 屬性演示

網頁名稱:CSS動畫(animation)10分鐘入門教程
分享URL:http://www.5511xx.com/article/dpgohhe.html