CSS - efeito Flip Out do eixo X

Descrição

Um elemento pode virar ou causar a viragem com um movimento rápido e repentino.

Sintaxe

@keyframes flipOutX {
   0% {
      transform: perspective(400px) rotateX(0deg);
      opacity: 1;
   }
   100% {
      transform: perspective(400px) rotateX(90deg);
      opacity: 0;
   } 
}

Parâmetros

  • Transform - Transformar se aplica à transformação 2d e 3d para um elemento.

  • Opacity - Opacidade se aplica a um elemento para fazer translucidez.

Exemplo

<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 flipOutX {
            0% {
               -webkit-transform: perspective(400px) rotateX(0deg);
               opacity: 1;
            }
            100% {
               -webkit-transform: perspective(400px) rotateX(90deg);
               opacity: 0;
            }
         }
         
         @keyframes flipOutX {
            0% {
               transform: perspective(400px) rotateX(0deg);
               opacity: 1;
            }
            100% {
               transform: perspective(400px) rotateX(90deg);
               opacity: 0;
            }
         }
         
         .flipOutX {
            -webkit-animation-name: flipOutX;
            -webkit-backface-visibility: visible !important;
            animation-name: flipOutX;
            backface-visibility: visible !important;
         }
      </style>
   </head>

   <body>
   
      <div id = "animated-example" class = "animated flipOutX"></div>
      <button onclick = "myFunction()">Reload page</button>
      
      <script>
         function myFunction() {
            location.reload();
         }
      </script>
      
   </body>
</html>

Isso produzirá o seguinte resultado -