pagetop

BLOG

CSSでつくるアニメーションまとめVol2

  • HOME

  • BLOG

  • CSSでつくるアニメーションまとめVol2

Article

CSSでつくるアニメーションまとめVol2

CSS

CSSでつくるアニメーシン第二弾です。今回はサッカーボールをCSSでアニメーションにしてみました。

伸びたり、飛んだりと色んなバリエーションで作成してみたのでメモします。

 

伸縮する

伸びたり縮んだりします。

伸縮する

.shinsyuku {
-webkit-animation: shinsyuku 0.8s linear 0s 1;
animation: shinsyuku 0.8s linear 0s 1;
}
@-webkit-keyframes shinsyuku {
0% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
15% { -webkit-transform: scale(0.9, 0.9) translate(0%, 5%); }
30% { -webkit-transform: scale(1.3, 0.8) translate(0%, 10%); }
50% { -webkit-transform: scale(0.8, 1.3) translate(0%, -10%); }
70% { -webkit-transform: scale(1.1, 0.9) translate(0%, 5%); }
100% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
}
@keyframes shinsyuku {
0% { transform: scale(1.0, 1.0) translate(0%, 0%); }
15% { transform: scale(0.9, 0.9) translate(0%, 5%); }
30% { transform: scale(1.3, 0.8) translate(0%, 10%); }
50% { transform: scale(0.8, 1.3) translate(0%, -10%); }
70% { transform: scale(1.1, 0.9) translate(0%, 5%); }
100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}

 

左右に揺れる

左や右に転がるようにゆれます。

左右に揺れる

.yureru {
-webkit-animation: yureru 2.5s linear 0s 1;
animation: yureru 2.5s linear 0s 1;
}
@-webkit-keyframes yureru {
0% { -webkit-transform: translate(0%, 0%); }
5% { -webkit-transform: translate(10%, 0%) rotate(10deg); }
25% { -webkit-transform: translate(20%, 0%) rotate(20deg); }
30% { -webkit-transform: translate(-10%, 0%) rotate(-10deg); }
35% { -webkit-transform: translate(-15%, 0%) rotate(-15deg); }
45% { -webkit-transform: translate(10%, 0%) rotate(10deg); }
50% { -webkit-transform: translate(15%, 0%) rotate(15deg); }
60% { -webkit-transform: translate(-5%, 0%) rotate(-5deg); }
65% { -webkit-transform: translate(-7%, 0%) rotate(-7deg); }
75% { -webkit-transform: translate(0%, 0%) rotate(0deg); }
100% { -webkit-transform: translate(0%, 0%) rotate(0deg); }
}
@keyframes yureru {
0% { transform: translate(0%, 0%); }
5% { transform: translate(10%, 0%) rotate(10deg); }
25% { transform: translate(20%, 0%) rotate(20deg); }
30% { transform: translate(-10%, 0%) rotate(-10deg); }
35% { transform: translate(-15%, 0%) rotate(-15deg); }
45% { transform: translate(10%, 0%) rotate(10deg); }
50% { transform: translate(15%, 0%) rotate(15deg); }
60% { transform: translate(-5%, 0%) rotate(-5deg); }
65% { transform: translate(-7%, 0%) rotate(-7deg); }
75% { transform: translate(0%, 0%) rotate(0deg); }
100% { transform: translate(0%, 0%) rotate(0deg); }
}

 

プルプルする

プルプルと動きます。

プルプルする

.purupuru {
-webkit-animation: purupuru 0.8s linear 0s 1;
animation: purupuru 0.8s linear 0s 1;
}
@-webkit-keyframes purupuru {
0% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
20% { -webkit-transform: scale(1.0, 1.06) translate(-5%, -4%) skew(6deg, 0deg); }
50% { -webkit-transform: scale(1.0, 0.94) translate(5%, 4%) skew(-6deg, 0deg); }
65% { -webkit-transform: scale(1.0, 1.03) translate(2%, -2%) skew(-3deg, 0deg); }
80% { -webkit-transform: scale(1.0, 0.97) translate(-2%, 2%) skew(3deg, 0deg); }
100% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
}
@keyframes purupuru {
0% { transform: scale(1.0, 1.0) translate(0%, 0%); }
20% { transform: scale(1.0, 1.06) translate(-5%, -4%) skew(6deg, 0deg); }
50% { transform: scale(1.0, 0.94) translate(5%, 4%) skew(-6deg, 0deg); }
65% { transform: scale(1.0, 1.03) translate(2%, -2%) skew(-3deg, 0deg); }
80% { transform: scale(1.0, 0.97) translate(-2%, 2%) skew(3deg, 0deg); }
100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}

 

バウンドする

上から落ちて跳ねる動きです。

バウンドする

.bound {
-webkit-animation: bound 1.1s linear 0s 1;
animation: bound 1.1s linear 0s 1;
}
@-webkit-keyframes bound {
0% { -webkit-transform: scale(0.8, 1.4) translate(0%, -100%); }
10% { -webkit-transform: scale(0.8, 1.4) translate(0%, -15%); }
20% { -webkit-transform: scale(1.4, 0.6) translate(0%, 30%); }
30% { -webkit-transform: scale(0.9, 1.1) translate(0%, -10%); }
40% { -webkit-transform: scale(0.95, 1.2) translate(0%, -30%); }
50% { -webkit-transform: scale(0.95, 1.2) translate(0%, -10%); }
60% { -webkit-transform: scale(1.1, 0.9) translate(0%, 5%); }
70% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
100% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
}
@keyframes bound {
0% { transform: scale(0.8, 1.4) translate(0%, -100%); }
10% { transform: scale(0.8, 1.4) translate(0%, -15%); }
20% { transform: scale(1.4, 0.6) translate(0%, 30%); }
30% { transform: scale(0.9, 1.1) translate(0%, -10%); }
40% { transform: scale(0.95, 1.2) translate(0%, -30%); }
50% { transform: scale(0.95, 1.2) translate(0%, -10%); }
60% { transform: scale(1.1, 0.9) translate(0%, 5%); }
70% { transform: scale(1.0, 1.0) translate(0%, 0%); }
100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}

 

ジャンプする

ジャンプします。

ジャンプする

.jump {
-webkit-animation: jump 0.9s linear 0s 1;
animation: jump 0.9s linear 0s 1;
}
@-webkit-keyframes jump {
0% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
10% { -webkit-transform: scale(1.1, 0.9) translate(0%, 5%); }
40% { -webkit-transform: scale(1.2, 0.8) translate(0%, 15%); }
50% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
60% { -webkit-transform: scale(0.9, 1.2) translate(0%, -100%); }
75% { -webkit-transform: scale(0.9, 1.2) translate(0%, -20%); }
85% { -webkit-transform: scale(1.2, 0.8) translate(0%, 15%); }
100% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
}
@keyframes jump {
0% { transform: scale(1.0, 1.0) translate(0%, 0%); }
10% { transform: scale(1.1, 0.9) translate(0%, 5%); }
40% { transform: scale(1.2, 0.8) translate(0%, 15%); }
50% { transform: scale(1.0, 1.0) translate(0%, 0%); }
60% { transform: scale(0.9, 1.2) translate(0%, -100%); }
75% { transform: scale(0.9, 1.2) translate(0%, -20%); }
85% { transform: scale(1.2, 0.8) translate(0%, 15%); }
100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}

 

伸びて戻る

グーッと伸びて戻ります。

伸びて戻る

.back {
-webkit-animation: back 1.0s linear 0s 1;
animation: back 1.0s linear 0s 1;
}
@-webkit-keyframes back {
0% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
40% { -webkit-transform: scale(0.95, 1.2) translate(0%, -10%); }
50% { -webkit-transform: scale(1.1, 0.9) translate(0%, 5%); }
60% { -webkit-transform: scale(0.95, 1.05) translate(0%, -3%); }
70% { -webkit-transform: scale(1.05, 0.95) translate(0%, 3%); }
80% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
100% { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
}
@keyframes back {
0% { transform: scale(1.0, 1.0) translate(0%, 0%); }
40% { transform: scale(0.95, 1.2) translate(0%, -10%); }
50% { transform: scale(1.1, 0.9) translate(0%, 5%); }
60% { transform: scale(0.95, 1.05) translate(0%, -3%); }
70% { transform: scale(1.05, 0.95) translate(0%, 3%); }
80% { transform: scale(1.0, 1.0) translate(0%, 0%); }
100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}

 

デモ用意しました。

デモはこちら

Spread the love