Css-animation-hinge

提供:Dev Guides
移動先:案内検索

CSS-ヒンジ効果

説明

エレメントは、突然の素早い動きで裏返したり、裏返しになったりすることがあります。

構文

@keyframes hinge {
   0% {
      transform: rotate(0);
      transform-origin: top left;
      animation-timing-function: ease-in-out;
   }
   20%, 60% {
      transform: rotate(80deg);
      transform-origin: top left;
      animation-timing-function: ease-in-out;
   }
   40% {
      transform: rotate(60deg);
      transform-origin: top left;
      animation-timing-function: ease-in-out;
   }
   80% {
      transform: rotate(60deg) translateY(0);
      opacity: 1;
      transform-origin: top left;
      animation-timing-function: ease-in-out;
   }
   100% {
      transform: translateY(700px);
      opacity: 0;
   }
}

パラメーター

  • 変換-変換は、要素への2Dおよび3D変換に適用されます。
  • Opacity -不透明度は要素に適用され、半透明になります。

<html>
   <head>
      <style>
         .animated {
            background-image: url(/css/images/logo.png);
            background-repeat: no-repeat;
            background-position: left top;
            padding-top:95px;
            margin-bottom:60px;
            -webkit-animation-duration: 1s;
            animation-duration: 1s;
            -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
         }

         @-webkit-keyframes hinge {
            0% {
               -webkit-transform: rotate(0);
               -webkit-transform-origin: top left;
               -webkit-animation-timing-function: ease-in-out;
            }
            20%, 60% {
               -webkit-transform: rotate(80deg);
               -webkit-transform-origin: top left;
               -webkit-animation-timing-function: ease-in-out;
            }
            40% {
               -webkit-transform: rotate(60deg);
               -webkit-transform-origin: top left;
               -webkit-animation-timing-function: ease-in-out;
            }
            80% {
               -webkit-transform: rotate(60deg) translateY(0);
               opacity: 1;
               -webkit-transform-origin: top left;
               -webkit-animation-timing-function: ease-in-out;
            }
            100% {
               -webkit-transform: translateY(700px);
               opacity: 0;
            }
         }

         @keyframes hinge {
            0% {
               transform: rotate(0);
               transform-origin: top left;
               animation-timing-function: ease-in-out;
            }
            20%, 60% {
               transform: rotate(80deg);
               transform-origin: top left;
               animation-timing-function: ease-in-out;
            }
            40% {
               transform: rotate(60deg);
               transform-origin: top left;
               animation-timing-function: ease-in-out;
            }
            80% {
               transform: rotate(60deg) translateY(0);
               opacity: 1;
               transform-origin: top left;
               animation-timing-function: ease-in-out;
            }
            100% {
               transform: translateY(700px);
               opacity: 0;
            }
         }

         .hinge {
            -webkit-animation-name: hinge;
            animation-name: hinge;
         }
      </style>
   </head>

   <body>

      <div id = "animated-example" class = "animated hinge"></div>
      <button onclick = "myFunction()">Reload page</button>

      <script>
         function myFunction() {
            location.reload();
         }
      </script>

   </body>
</html>

それは次の結果を生成します-