CSS 翻转效果

CSS 翻转效果

描述

一个元素可以通过突然的快速移动翻转或导致翻转。

语法

@keyframes flip {
   0% {
      transform: perspective(400px) rotateY(0);
      animation-timing-function: ease-out;
   }
   40% {
      transform: perspective(400px) translateZ(150px) rotateY(170deg);
      animation-timing-function: ease-out;
   }
   50% {
      transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
      animation-timing-function: ease-in;
   }
   80% {
      transform: perspective(400px) rotateY(360deg) scale(.95);
      animation-timing-function: ease-in;
   }
   100% {
      transform: perspective(400px) scale(1);
      animation-timing-function: ease-in;
   }
}

参数

  • transform − 变换应用于2D和3D变换到元素上。

  • opacity − 透明度应用于元素以使其半透明。

示例

<html>
   <head>
      <style>
         .animated {
            background-image: url(https://geek-docs.com/static/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 flip {
            0% {
               -webkit-transform: perspective(400px) rotateY(0);
               -webkit-animation-timing-function: ease-out;
            }
            40% {
               -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
               -webkit-animation-timing-function: ease-out;
            }
            50% {
               -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
               -webkit-animation-timing-function: ease-in;
            }
            80% {
               -webkit-transform: perspective(400px) rotateY(360deg) scale(.95);
               -webkit-animation-timing-function: ease-in;
            }
            100% {
               -webkit-transform: perspective(400px) scale(1);
               -webkit-animation-timing-function: ease-in;
            }
         }

         @keyframes flip {
            0% {
               transform: perspective(400px) rotateY(0);
               animation-timing-function: ease-out;
            }
            40% {
               transform: perspective(400px) translateZ(150px) rotateY(170deg);
               animation-timing-function: ease-out;
            }
            50% {
               transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
               animation-timing-function: ease-in;
            }
            80% {
               transform: perspective(400px) rotateY(360deg) scale(.95);
               animation-timing-function: ease-in;
            }
            100% {
               transform: perspective(400px) scale(1);
               animation-timing-function: ease-in;
            }
         }

         .flip {
            -webkit-backface-visibility: visible !important;
            -webkit-animation-name: flip;
            backface-visibility: visible !important;
            animation-name: flip;
         }
      </style>
   </head>

   <body>

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

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

   </body>
</html>

它将产生以下结果−

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程