您好,登錄后才能下訂單哦!
CSS3如何制作動畫效果?這篇文章運用了實例代碼展示,代碼非常詳細,可供感興趣的小伙伴們參考借鑒,希望對大家有所幫助。如下資料是關于CSS3制作動畫效果的步驟。
我們最近在SeatGeek更新了我們的“跟蹤"圖標,以匹配我們的新iPhone應用程序。 首席設計師在PSD中創建了具有不同狀態的心臟圖標,并在下面創建了動畫:
在CSS中,動畫是一種讓元素逐漸改變樣式的效果。 您可以使用@keyframes關鍵字創建動畫,后跟動畫的名稱。
@keyframes heartAnimation {
/* Animation code goes here */
}
要使動畫跨瀏覽器兼容,您需要使用供應商前綴:
@keyframes heartAnimation {
/* IE 10+ */
}
@-webkit-keyframes heartAnimation {
/* Safari 4+ */
}
@-moz-keyframes heartAnimation {
/* Fx 5+ */
}
@-o-keyframes heartAnimation {
/* Opera 12+ */
}
專門建立的學習Q-q-u-n ⑦⑧④-⑦⑧③-零①② 分享學習方法和需要注意的小細節,互相交流學習,不停更新最新的教程和學習技巧(從零基礎開始到WEB前端項目實戰教程,學習工具,全棧開發學習路線以及規劃)
但是,對于本文的其余部分,我將為了空間而排除供應商前綴。
下一步是添加動畫效果并確定它們何時發生。 您可以使用0%到100%的百分比或使用“from"和“to"關鍵字來執行此操作,只需使用起始和結束狀態的簡單動畫。 下面是將背景顏色從黃色變為藍色,然后從黃色變為綠色變為藍色的示例。
@keyframes colorChange {
from {background: yellow;}
to {background: blue;}
}
@keyframes colorChange {
0% {background: yellow;}
50% {background: green;}
100% {background: blue;}
}
創建關鍵幀后,您可以將動畫稱為CSS屬性。 例如,下面的代碼將運行colorChange動畫2次以上,持續時間為2秒:
.color-animation {
animation-name: changeColor;
animation-iteration-count: 2;
animation-duration: 2s;
}
/* Shorthand */
.color-animation {
animation: changeColor 2 2s;
}
在看了幾次gif之后,我意識到它是一個輕微的收縮,然后擴展到比原始尺寸略大的尺寸,然后回到原來的尺寸。
使用上面的CSS3關鍵幀和動畫語法,這里是我用來在本頁頂部的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
}
對于一個加載狀態,我讓心臟發白并且無限地脈動in-and-out。 它還縮小并縮小到原始大小,而不是像上面的heartAnimation代碼那樣在進入原始狀態之前略大于原始大小。 以下是加載狀態的代碼:
@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;
}
下面是我用來點擊每個圖標時動畫的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');
});
});
關于CSS3制作動畫效果的步驟就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。