溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

css3動畫屬性中Transitions屬性與Animations屬性怎么用

發(fā)布時間:2022-03-03 11:03:20 來源:億速云 閱讀:125 作者:小新 欄目:web開發(fā)

小編給大家分享一下css3動畫屬性中Transitions屬性與Animations屬性怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

  1Transitions功能

  (1)瀏覽器支持:

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

 ?。?)功能

  在CSS3中,Transitions功能通過將元素的某個屬性從一個屬性值在指定的時間內(nèi)平滑過渡到另一個屬性值來實現(xiàn)動畫功能。

 ?。?)使用方法

  transition:propertydurationtiming-function

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

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

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

  div{

  background-color:#ffff00;

  transition:background-color1slinear;//在1秒內(nèi)讓div元素的背景色從黃色平滑過渡到淺藍色。

  }

  div{

  background-color:#00ffff;

  }

 ?。?)另一種使用方法

  transition-property:background-color;

  transition-duration:1;

  transition-timing-function:linear;

 ?。?)transition-delay屬性

  指定變換動畫特效延遲多久后開始執(zhí)行??梢杂妹雴挝换蚝撩雴挝恢付▽傩灾?。

  transition-delay:1s;

  //或transition:background-color1slinear2s;(在第四個參數(shù)中書寫延遲時間)

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

  transition:background-color1slinear,color1slinear,width2slinear;

 ?。?)移動、旋轉等動畫效果

  img{

  position:absolute;top:70px;left:0;

  transform:rotate(0deg);

  transition:left1slinear,transform1slinear;

  }

  img:hover{

  left:30px;

  transform:rotate(720deg);

  }

 ?。?)缺點

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

  2Animations功能

 ?。?)瀏覽器支持:

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

 ?。?)功能

  與Transitions功能相同,都是通過改變元素的屬性值來實現(xiàn)動畫效果。

  區(qū)別:Animations功能通過定義多個關鍵幀以及定義每個關鍵幀中元素的屬性值來實現(xiàn)更為復雜的動畫效果。

 ?。?)創(chuàng)建關鍵幀的集合

  @keyframes關鍵幀集合名{創(chuàng)建關鍵幀的代碼}

  (4)創(chuàng)建關鍵幀的代碼(類似如下)

  40%{本關鍵幀中的樣式代碼}

 ?。?0%表示改幀位于整個動畫過程中的40%處,開始幀為0%,結束幀為100%)

  @keyframesmycolor{

  0%{

  background-color:red;

  }

  40%{

  background-color:darkblue;

  }

  70%{

  background-color:yellow;

  }

  100%{

  background-color:red;

  }

  }

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

  div{

  animation-name:my-color;//指定關鍵幀集合的名稱

  animation-duration:5s;//指定完成整個動畫所花費的時間

  animation-timing-function:linear;//指定實現(xiàn)動畫的方法

  }

 ?。?)其他屬性

  animation-delay:用于指定延遲多少秒或毫秒后開始執(zhí)行動畫。

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

  animation-direction:用于指定動畫的執(zhí)行方向??芍付▽傩灾蛋ǎ?/p>

  normal:初始值(動畫執(zhí)行完畢后返回初始狀態(tài))

  alternate:交替更換動畫的執(zhí)行方向

  reverse:反方向執(zhí)行動畫

  alternate-reverse:從反方向開始交替更改動畫的執(zhí)行方向

 ?。?)在一行樣式代碼中定義animation動畫時采用如下所示的書寫方式

  animation:keyframe的名稱動畫的執(zhí)行時長動畫的實現(xiàn)方法延遲多少秒后開始執(zhí)行動畫動畫的執(zhí)行次數(shù)動畫的執(zhí)行方向;

 ?。?)實現(xiàn)多個屬性值同時改變的動畫

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

  3實現(xiàn)動畫的方法

  方法 屬性值的變化速度

  linear 在動畫開始時與結束時以同樣速度進行改變

  ease-in 動畫開始時速度很慢,然后速度沿曲線值進行加快

  ease-out 動畫開始時速度很快,然后速度沿曲線值進行放慢

  ease 動畫開始時速度很慢,然后速度沿曲線值進行加快,然后再沿曲線值進行放慢

  ease-in-out 動畫開始時速度很慢,然后速度沿曲線值進行加快,然后再沿曲線值進行放慢

  4實現(xiàn)網(wǎng)頁的淡入效果

  通過在開始幀與結束幀中改變頁面的opacity屬性的屬性值來實現(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;

  }


css3動畫屬性中Transitions屬性與Animations屬性怎么用css3動畫屬性中Transitions屬性與Animations屬性怎么用



看完了這篇文章,相信你對“css3動畫屬性中Transitions屬性與Animations屬性怎么用”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI