css3動(dòng)畫效果標(biāo)簽 Transitions功能
(1)瀏覽器支持:
到目前為止:Safari3.1以上、Chrome8以上、Firefox4以上、Opera10以上、IE11以上瀏覽器支持該功能。
?。?)功能
在CSS3中,Transitions功能通過將元素的某個(gè)屬性從一個(gè)屬性值在指定的時(shí)間內(nèi)平滑過渡到另一個(gè)屬性值來實(shí)現(xiàn)動(dòng)畫功能。
(3)使用方法
transition:propertydurationtiming-function
property:表示對(duì)哪個(gè)屬性進(jìn)行平滑過渡。
duration:表示在多久時(shí)間內(nèi)完成屬性值得平滑過渡。
timing-function:表示通過什么方法進(jìn)行平滑過渡。
div{
background-color:#ffff00;
transition:background-color1slinear;//在1秒內(nèi)讓div元素的背景色從黃色平滑過渡到淺藍(lán)色。
}
div{
background-color:#00ffff;
}
?。?)另一種使用方法
transition-property:background-color;
transition-duration:1;
transition-timing-function:linear;
(5)transition-delay屬性
指定變換動(dòng)畫特效延遲多久后開始執(zhí)行??梢杂妹雴挝换蚝撩雴挝恢付▽傩灾?。
transition-delay:1s;
//或transition:background-color1slinear2s;(在第四個(gè)參數(shù)中書寫延遲時(shí)間)
?。?)使用Transitions功能同時(shí)平滑過渡多個(gè)屬性值
transition:background-color1slinear,color1slinear,width1slinear;
?。?)移動(dòng)、旋轉(zhuǎn)等動(dòng)畫效果
img{
position:absolute;top:70px;left:0;
transform:rotate(0deg);
transition:left1slinear,transform1slinear;
}
img:hover{
left:30px;
transform:rotate(720deg);
}
?。?)缺點(diǎn)
只能指定屬性的開始值與終點(diǎn)值,然后再這兩個(gè)屬性值之間實(shí)現(xiàn)平滑過渡,不能實(shí)現(xiàn)更為復(fù)雜的動(dòng)畫效果。
2Animations功能
?。?)瀏覽器支持:
到目前為止:Safari4以上、Chrome2以上、Firefox20以上、Opera18以上、IE11以上瀏覽器支持該功能。
?。?)功能
與Transitions功能相同,都是通過改變?cè)氐膶傩灾祦韺?shí)現(xiàn)動(dòng)畫效果。
區(qū)別:Animations功能通過定義多個(gè)關(guān)鍵幀以及定義每個(gè)關(guān)鍵幀中元素的屬性值來實(shí)現(xiàn)更為復(fù)雜的動(dòng)畫效果。
?。?)創(chuàng)建關(guān)鍵幀的集合
@keyframes關(guān)鍵幀集合名{創(chuàng)建關(guān)鍵幀的代碼}
?。?)創(chuàng)建關(guān)鍵幀的代碼(類似如下)
40%{本關(guān)鍵幀中的樣式代碼}
?。?0%表示改幀位于整個(gè)動(dòng)畫過程中的40%處,開始幀為0%,結(jié)束幀為100%)
@keyframesmycolor{
0%{
background-color:red;
}
40%{
background-color:darkblue;
}
70%{
background-color:yellow;
}
100%{
background-color:red;
}
}
?。?)在元素的樣式中使用該關(guān)鍵幀的集合
div{
animation-name:my-color;//指定關(guān)鍵幀集合的名稱
animation-duration:5s;//指定完成整個(gè)動(dòng)畫所花費(fèi)的時(shí)間
animation-timing-function:linear;//指定實(shí)現(xiàn)動(dòng)畫的方法
}
?。?)其他屬性
animation-delay:用于指定延遲多少秒或毫秒后開始執(zhí)行動(dòng)畫。
animation-iteration-count:用于指定動(dòng)畫的執(zhí)行次數(shù),可指定為infinite(無限次)。
animation-direction:用于指定動(dòng)畫的執(zhí)行方向??芍付▽傩灾蛋ǎ?/p>
normal:初始值(動(dòng)畫執(zhí)行完畢后返回初始狀態(tài))
alternate:交替更換動(dòng)畫的執(zhí)行方向
reverse:反方向執(zhí)行動(dòng)畫
alternate-reverse:從反方向開始交替更改動(dòng)畫的執(zhí)行方向
?。?)在一行樣式代碼中定義animation動(dòng)畫時(shí)采用如下所示的書寫方式
animation:keyframe的名稱動(dòng)畫的執(zhí)行時(shí)長動(dòng)畫的實(shí)現(xiàn)方法延遲多少秒后開始執(zhí)行動(dòng)畫動(dòng)畫的執(zhí)行次數(shù)動(dòng)畫的執(zhí)行方向;
?。?)實(shí)現(xiàn)多個(gè)屬性值同時(shí)改變的動(dòng)畫
只需只在各關(guān)鍵幀中同時(shí)指定這些屬性值就可以了。
3實(shí)現(xiàn)動(dòng)畫的方法
方法 屬性值的變化速度
linear 在動(dòng)畫開始時(shí)與結(jié)束時(shí)以同樣速度進(jìn)行改變
ease-in 動(dòng)畫開始時(shí)速度很慢,然后速度沿曲線值進(jìn)行加快
ease-out 動(dòng)畫開始時(shí)速度很快,然后速度沿曲線值進(jìn)行放慢
ease 動(dòng)畫開始時(shí)速度很慢,然后速度沿曲線值進(jìn)行加快,然后再沿曲線值進(jìn)行放慢
ease-in-out 動(dòng)畫開始時(shí)速度很慢,然后速度沿曲線值進(jìn)行加快,然后再沿曲線值進(jìn)行放慢
4實(shí)現(xiàn)網(wǎng)頁的淡入效果
通過在開始幀與結(jié)束幀中改變頁面的opacity屬性的屬性值來實(shí)現(xiàn)頁面的淡入效果。
@keyframesfadein{
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;
}