October
25

2017

CSSではねるアニメーション

CSSとHTMLでできる、はねるアニメーションの紹介です。

それでは、ソースサンプルとデモページをご覧ください。

▼以下が実際のソースサンプルです。

▼CSS


.poyon {
      -webkit-animation: poyon 1s linear 0s 1;
      animation: poyon 1s linear 0s 1;
    }
    @-webkit-keyframes poyon {
      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%, -200%); }
      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 poyon {
      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%, -200%); }
      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%); }
    }

.poyon1 {
      -webkit-animation: poyon1 1.1s linear 0s 1;
      animation: poyon1 1.1s linear 0s 1;
    }
    @-webkit-keyframes poyon1 {
      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 poyon1 {
      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%); }
    }

.poyon2 {
      -webkit-animation: poyon2 1.2s linear 0s 1;
      animation: poyon2 1.2s linear 0s 1;
    }
    @-webkit-keyframes poyon2 {
      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%, -200%); }
      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 poyon2 {
      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%, -200%); }
      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%); }
    }

.poyon3 {
      -webkit-animation: poyon3 0.9s linear 0s 1;
      animation: poyon3 0.9s linear 0s 1;
    }
    @-webkit-keyframes poyon3 {
      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%, -200%); }
      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 poyon3 {
      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%, -200%); }
      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%); }
    }

.poyon4 {
      -webkit-animation: poyon4 1.9s linear 0s 1;
      animation: poyon4 1.9s linear 0s 1;
    }
    @-webkit-keyframes poyon4 {
      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%, -200%); }
      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 poyon4 {
      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%, -200%); }
      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%); }
    }
 


▼HTML

    <p class="poyon">文字や画像が</p>
    <img src="img/01.png" class="poyon1" alt="">
    <p class="poyon2">ぴょんと</p>
    <p class="poyon3">飛び跳ねる</p>
    <p class="poyon4">アニメーション</p>
 


今回、参考にさせていただいたのは、
ICS MEDIA』さんです。
ありがとうございます。

デモページは、こちら