CSS3如何制作動畫效果

CSS3如何制作動畫效果?這篇文章運用了實例代碼展示,代碼非常詳細(xì),可供感興趣的小伙伴們參考借鑒,希望對大家有所幫助。如下資料是關(guān)于CSS3制作動畫效果的步驟。

工布江達(dá)網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)公司自2013年起到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司

任務(wù)

我們最近在SeatGeek更新了我們的“跟蹤"圖標(biāo),以匹配我們的新iPhone應(yīng)用程序。 首席設(shè)計師在PSD中創(chuàng)建了具有不同狀態(tài)的心臟圖標(biāo),并在下面創(chuàng)建了動畫:

CSS3如何制作動畫效果

什么是CSS3動畫?

在CSS中,動畫是一種讓元素逐漸改變樣式的效果。 您可以使用@keyframes關(guān)鍵字創(chuàng)建動畫,后跟動畫的名稱。

@keyframes heartAnimation {
  /* Animation code goes here */
}

要使動畫跨瀏覽器兼容,您需要使用供應(yīng)商前綴:

@keyframes heartAnimation {
  /* IE 10+ */
}

@-webkit-keyframes heartAnimation {
  /* Safari 4+ */
}

@-moz-keyframes heartAnimation {
  /* Fx 5+ */
}

@-o-keyframes heartAnimation {
  /* Opera 12+ */
}
專門建立的學(xué)習(xí)Q-q-u-n ⑦⑧④-⑦⑧③-零①②  分享學(xué)習(xí)方法和需要注意的小細(xì)節(jié),互相交流學(xué)習(xí),不停更新最新的教程和學(xué)習(xí)技巧(從零基礎(chǔ)開始到WEB前端項目實戰(zhàn)教程,學(xué)習(xí)工具,全棧開發(fā)學(xué)習(xí)路線以及規(guī)劃)

但是,對于本文的其余部分,我將為了空間而排除供應(yīng)商前綴。

下一步是添加動畫效果并確定它們何時發(fā)生。 您可以使用0%到100%的百分比或使用“from"和“to"關(guān)鍵字來執(zhí)行此操作,只需使用起始和結(jié)束狀態(tài)的簡單動畫。 下面是將背景顏色從黃色變?yōu)樗{(lán)色,然后從黃色變?yōu)榫G色變?yōu)樗{(lán)色的示例。

@keyframes colorChange {
  from {background: yellow;}
  to {background: blue;}
}

@keyframes colorChange {
  0% {background: yellow;}
  50% {background: green;}
  100% {background: blue;}
}

創(chuàng)建關(guān)鍵幀后,您可以將動畫稱為CSS屬性。 例如,下面的代碼將運行colorChange動畫2次以上,持續(xù)時間為2秒:

.color-animation {
  animation-name: changeColor;
  animation-iteration-count: 2;
  animation-duration: 2s;
}

/* Shorthand */
.color-animation {
  animation: changeColor 2 2s;
}
計劃動畫

在看了幾次gif之后,我意識到它是一個輕微的收縮,然后擴展到比原始尺寸略大的尺寸,然后回到原來的尺寸。

Heart點擊動畫

使用上面的CSS3關(guān)鍵幀和動畫語法,這里是我用來在本頁頂部的gif中制作動畫的代碼。 它使用css變換和屬性來縮放圖像。

@keyframes heartAnimation {
  0% {transform: scale(1,1)}
  20% {transform: scale(0.9,0.9)}
  50% {transform: scale(1.15,1.15)}
  80% {transform: scale(1,1)}
}

.toggle-animation {
  animation: heartAnimation 0.7s; // no iteration count is needed as the default is 1 time
}

對于圖像,我使用的是精靈,所以我還需要更改圖像的位置以獲得紅色背景:

.toggle-animation {
  background: url('../images/animation-example-sprite.png') no-repeat -320px 0;
  animation: heartAnimation 0.7s; // no iteration count is needed as the default is 1 times
}
Loading動畫

對于一個加載狀態(tài),我讓心臟發(fā)白并且無限地脈動in-and-out。 它還縮小并縮小到原始大小,而不是像上面的heartAnimation代碼那樣在進(jìn)入原始狀態(tài)之前略大于原始大小。 以下是加載狀態(tài)的代碼:

@keyframes loading {
  0% {transform: scale(1,1) }
  50% {transform: scale(0.8,0.8) }
  100% {transform: scale(1,1) }
}

/* Notice the added 'infinite' to is used to make the animation-iteration-count */

.toggle-loading {
  background: url('../images/animation-example-sprite.png') no-repeat -160px 0; // make background white
  animation: loading 1s infinite;
  -webkit-animation: loading 1s infinite;
  -moz-animation: loading 1s infinite;
  -o-animation: loading 1s infinite;
}
查看動畫的演示

下面是我用來點擊每個圖標(biāo)時動畫的JS。 JS添加并刪除了我添加動畫屬性的類。

$(document).ready(function(){

  $('.animation-1 .image').on('click', function(){
    $(this).toggleClass('toggle-animation');
  });

  $('.animation-2 .image').on('click', function(){
    $(this).toggleClass('toggle-animation-slow');
  });

  $('.animation-3 .image').on('click', function(){
    $(this).toggleClass('toggle-loading');
  });
});

關(guān)于CSS3制作動畫效果的步驟就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

當(dāng)前標(biāo)題:CSS3如何制作動畫效果
分享路徑:http://muchs.cn/article44/isjche.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化定制開發(fā)、品牌網(wǎng)站設(shè)計網(wǎng)站維護、全網(wǎng)營銷推廣網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)