首頁 >web前端 >css教學 >css3動畫屬性之Transitions屬性與Animations屬性的功能實現

css3動畫屬性之Transitions屬性與Animations屬性的功能實現

不言
不言原創
2018-08-24 10:59:431873瀏覽

這篇文章帶給大家的內容是關於css3動畫屬性之Transitions屬性與Animations屬性的功能實現 ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

1 Transitions功能

(1)瀏覽器支援:

到目前為止:Safari3.1以上、Chrome8以上、Firefox4以上、Opera10以上、IE11以上瀏覽器支援此功能。 

(2)功能

在CSS3中,Transitions功能透過將元素的某個屬性從一個屬性值在指定的時間內平滑過渡到另一個屬性值來實現動畫功能。

(3)使用方法

transition:property duration timing-function

property:表示對哪個屬性進行平滑過渡。

duration:表示在多久時間內完成屬性值得平滑過渡。

timing-function:表示透過什麼方法進行平滑過渡。

div{
background-color:#ffff00;
transition:background-color 1s linear;//在1秒内让div元素的背景色从黄色平滑过渡到浅蓝色。
}
div{
background-color:#00ffff;
}

(4)另一種使用方法

transition-property:background-color;
transition-duration:1;
transition-timing-function:linear;

(5)transition-delay屬性

指定變換動畫特效延遲多久後開始執行。可以用秒單位或毫秒單位指定屬性值。

transition-delay:1s;
//或 transition:background-color 1s linear 2s;(在第四个参数中书写延迟时间)

(6)使用Transitions功能同時平滑過渡多個屬性值

transition:background-color 1s linear,color 1s linear,width 1s linear;

(7)移動、旋轉等動畫效果

img{
position:absolute;top:70px;left:0;
transform:rotate(0deg);
transition:left 1s linear,transform 1s linear;
}
 img:hover{
left:30px;
transform:rotate(720deg);
}

(8)缺點

只能指定屬性的開始值與終點值,然後再這兩個屬性值之間實現平滑過渡,不能實現更為複雜的動畫效果。

2 Animations功能

(1)瀏覽器支援:

到目前為止:Safari4以上、Chrome2以上、Firefox20以上、Opera18以上、 IE11以上瀏覽器支援此功能。 

(2)功能

與Transitions功能相同,都是透過改變元素的屬性值來實現動畫效果。

區別:Animations功能透過定義多個關鍵影格以及定義每個關鍵影格中元素的屬性值來實現更為複雜的動畫效果。

(3)建立關鍵影格的集合

@keyframes 關鍵影格集合名稱{  建立關鍵影格的程式碼 }

(4)建立關鍵影格的程式碼(類似如下)

40%{ 本關鍵影格中的樣式程式碼}

(40%表示改影格位於整個動畫過程中的40%處,開始幀為0%,結束幀為100%)

@keyframes mycolor{
0%{
background-color:red;
}
40%{
background-color:darkblue;
}
70%{
background-color:yellow;
}
100%{
background-color:red;
}
}

(5)在元素的樣式中使用該關鍵幀的集合

div{
animation-name:my-color; //指定关键帧集合的名称
animation-duration:5s; //指定完成整个动画所花费的时间
animation-timing-function:linear; //指定实现动画的方法
}

(6 )其他屬性

animation-delay:用於指定延遲多少秒或毫秒後開始執行動畫。

animation-iteration-count:用於指定動畫的執行次數,可指定為infinite(無限次)。

animation-direction:用來指定動畫的執行方向。可指定屬性值包括:

  • normal:初始值(動畫執行完成後返回初始狀態)

  • alternate:交替更換動畫的執行方向

  • reverse:反方向執行動畫

  • alternate-reverse:從反方向開始交替更改動畫的執行方向

(7)在一行樣式程式碼中定義animation動畫時採用如下所示的書寫方式

animation:keyframe的名稱動畫的執行時長動畫的實作方法 延遲多少秒後開始執行動畫動畫的執行次數動畫的執行方向;

(8)實作多個屬性值同時改變的動畫

只需只在各關鍵影格同時指定這些屬性值就可以了。

3 实现动画的方法

方法 属性值的变化速度
linear 在动画开始时与结束时以同样速度进行改变
ease-in 动画开始时速度很,然后速度沿曲线值进行加快
ease-out 动画开始时速度很,然后速度沿曲线值进行放慢
ease 动画开始时速度很,然后速度沿曲线值进行加快,然后再沿曲线值进行放慢
ease-in-out 动画开始时速度很,然后速度沿曲线值进行加快,然后再沿曲线值进行放慢

4 实现网页的淡入效果

通过在开始帧与结束帧中改变页面的opacity属性的属性值来实现页面的淡入效果。

@keyframes fadein{
0%{
opacity:0;
background-color:white;
}
100%{
opacity:1;
background-color:white;
}
body{
animation-name: fadein; 
animation-duration:5s; 
animation-timing-function:linear; 
animation-iteration-count:1;
}

相关推荐:

css3动画属性animation(动画)_html/css_WEB-ITnose

CSS3展现精彩的动画效果 css3的动画属性_html/css_WEB-ITnose

以上是css3動畫屬性之Transitions屬性與Animations屬性的功能實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多