1. 程式人生 > >css3中的animation屬性

css3中的animation屬性

oct 添加 -m log 效果 ear back post 曲線

作用:通過給元素添加animation屬性,可以賦予該元素動畫效果。

<!DOCTYPE html>
<html>
<head>
<style>
div{width:100px;height:100px;background:red;animation:my 5s;}
@keyframes my
{
0%{background:red;width:100px;}
100%{background:blue;width:200px;}
}


</style>
</head>
<body>
<div></div>
</body>
</html>

最常用的幾種屬性有以下幾種:

1、animation-name(動畫名稱)

animation-name屬性是必須存在的,因為animation-name的值默認是none,沒有動畫。

2、animation-duration(動畫執行一次所需時間)

animation-duration屬性也是必須存在的,因為animation-duration的值默認是0,沒有動畫。

3、animation-delay(動畫在開始前的延遲時間)

animation-delay的值可以是秒(s)或者是毫秒(ms),默認值是0,沒有延遲。

4、animation-timing-function(動畫以何種運行軌跡完成一個周期)

animation-timing-function的值是貝塞爾曲線,默認值是ease,表示動畫以低速開始,然後加速,最後在結束前變慢。 最常用的值有以下幾個:

(1)linear:表示動畫從頭到尾的速度都是相同的。

(2)ease-in:表示動畫以低速開始。

(3)ease-out:表示動畫以低速結束。

(4)ease-in-out:表示動畫以低速開始和結束。

如果沒有想用的值,也可以直接使用三次貝塞爾函數,使用網站是http://cubic-bezier.com,可直接調試出自己想要的值;也可以在瀏覽器中直接調試,現在瀏覽器調試工具中都支持貝塞爾函數可視化調試。

5、animation-iteration-count(動畫播放次數)

animation-iteration-count屬性值有兩種:

(1)直接寫數字,自定義想要播放動畫的次數。

(2)infinite:設置動畫無線循環播放。

6、animation-fill-mode(定義元素動畫結束以後或者未開始的元素樣式)

默認值為none,標示,不會在動畫結束或者未開始時給元素 添加樣式

常用屬性值為:

(1)forwards:表示動畫結束後,元素直接接使用當前樣式。

(2)backwards:表示在動畫延遲時間元素使用關鍵幀中from的屬性值或者to屬性值(當animation-direction為reverse或者alternate-reverse時)

7、animation-direction(是否輪流反向播放動畫)

默認值是normal,動畫正常播放。如果動畫只播放一次,則該屬性無效。

常用的屬性值為:

(1)reverse:表示動畫反向播放。

(2)alternate:表示動畫在奇數次播放時為正向播放,為偶數次播放時為反向播放。

(3)alternate-reverse: :表示動畫在奇數次播放時為反向播放,為偶數次播放時為正向播放。

animation屬性在書寫通常合並在一起,除非需要單獨設置的屬性值,animation屬性的簡寫形式為:animation:code 2s 2s linear infinite alternate forwards;

css3中的animation屬性