iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 3
1
Modern Web

跟著網頁動ㄘ動系列 第 3

DAY3 - 使用CCS3動ㄘ動 Part2

  • 分享至 

  • xImage
  •  

在昨天介紹了初步的CSS3 Animations之後,今天要來進階的屬性。/images/emoticon/emoticon01.gif

昨天的範例中,動畫都只會跑一次就結束。
如果想要動畫多撥放幾次的話該怎麼辦呢?

在角色的CSS中寫上 animation-iteration-count 屬性。
例如以下寫了3,這樣動畫就會重複播放3次。

要讓它動起來的角色名稱 {
    animation-name: 動畫劇本名稱;
    animation-duration: 動畫劇本執行時間,例如3s(3秒);
    animation-iteration-count: 動畫劇本重複次數,例如3(3次);
    width: 100px;
    height: 100px;
    background-color: red;
}

如果要讓動畫不停地播下去,則可以使用 animation-iteration-count: infinite

要讓它動起來的角色名稱 {
    animation-name: 動畫劇本名稱;
    animation-duration: 動畫劇本執行時間,例如3s(3秒);
    animation-iteration-count: infinite;
    width: 100px;
    height: 100px;
    background-color: red;
}

動畫執行之後,會發現動畫的每一個階段的速度有快有慢。
想要調整的話,可以使用 animation-timing-function 屬性。

此屬性有幾個值可以填寫。

linear:從頭到尾都是相同速度。
ease:默認值。慢速開始,接著加快,結束前變慢。
ease-in:以慢速作為開始。
ease-out:以慢速作為結束。
ease-in-out:以慢速作為開始和結束。
cubic-bezier(n,n,n,n):n為0~1的數值。

cubic-bezier這個函數,可以使用這個網站 http://cubic-bezier.com/ 來實際測試你想要的數值是多少。
可以減少自己測試的時間,很方便使用。

以下可看出他們的不同。

添加上這些屬性,動畫就可以增添不同的變化跟感覺。
這時你會發現,這些動畫屬性需要寫好多行來處理。
以上這些屬性,都可以縮減成一個。

要讓它動起來的角色名稱 {
    animation: 動畫劇本名稱  動畫速度  動畫執行時間  動畫執行次數;
}

例如:

要讓它動起來的角色名稱 {
    animation: animation1 linear  5s  1;
}

這樣就可以讓CSS看起來比較簡潔了!/images/emoticon/emoticon01.gif

以上是今天的部分,其他明天繼續XDDDD


上一篇
DAY2 - 使用CCS3動ㄘ動
下一篇
DAY4 - 使用CCS3動ㄘ動 Part3
系列文
跟著網頁動ㄘ動5
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
King Tzeng
iT邦新手 3 級 ‧ 2017-12-07 00:15:48

好久沒碰CSS的動畫了/images/emoticon/emoticon02.gif

我要留言

立即登入留言