html - Chrome 中 CSS3 动画无法正常返回 0%

标签 html css

我的页面中有一个 CSS3 动画。它运行良好,直到恢复到 0% 或 100%。

它没有返回,而是飞了起来!

这只发生在 Chrome 中,而不是 Firefox 中。

        @keyframes my-right{
            50%{
                -moz-transform-origin:right;
                -webkit-transform-origin:right;
                transform-origin:right;
                -moz-transform:perspective(1000px) translateX(46px) translateZ(50px) rotateY(180deg);
                -webkit-transform:perspective(1000px) translateX(46px) translateZ(50px) rotateY(180deg);
                transform:perspective(1000px) translateX(46px) translateZ(50px) rotateY(180deg);
            }
        }

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <style type="text/css">
        .basic{
            position: absolute;
            width: 48px;
            height: 48px;
            background: #FF2200;
            text-align: center;
            border: 1px solid black;
            -moz-transition: height 1s linear;
            -webkit-transition: height 1s linear;
            transition: height 1s linear;
        }
        #right{
            top:100px;
            left:150px;
            -moz-animation:my-right 10s linear infinite;
            -webkit-animation:my-right 10s linear infinite;
            animation:my-right 10s linear infinite;
            z-index: 100;
        }
        @-webkit-keyframes my-right{
            50%{
                -moz-transform-origin:right;
                -webkit-transform-origin:right;
                transform-origin:right;
                -moz-transform:perspective(1000px) translateX(46px) translateZ(50px) rotateY(180deg);
                -webkit-transform:perspective(1000px) translateX(46px) translateZ(50px) rotateY(180deg);
                transform:perspective(1000px) translateX(46px) translateZ(50px) rotateY(180deg);
            }
        }
        @keyframes my-right{
            50%{
                -moz-transform-origin:right;
                -webkit-transform-origin:right;
                transform-origin:right;
                -moz-transform:perspective(1000px) translateX(46px) translateZ(50px) rotateY(180deg);
                -webkit-transform:perspective(1000px) translateX(46px) translateZ(50px) rotateY(180deg);
                transform:perspective(1000px) translateX(46px) translateZ(50px) rotateY(180deg);
            }
        }
    </style>
    <div id="right" class="basic">right</div>
</body>
</html>

最佳答案

我确实做了一个 100% 关键帧让它回到原来的位置:

.basic {
  position: absolute;
  width: 48px;
  height: 48px;
  background: #FF2200;
  text-align: center;
  border: 1px solid black;
  -moz-transition: height 5s linear;
  -webkit-transition: height 5s linear;
  transition: height 5s linear;
}

#right {
  top:100px;
  left:150px;
  -moz-animation:my-right 5s linear infinite;
  -webkit-animation:my-right 5s linear infinite;
  animation:my-right 5s linear infinite;
  z-index: 100;
}

@-webkit-keyframes my-right {
  50% {
    -moz-transform-origin:right;
    -webkit-transform-origin:right;
    -moz-transform:perspective(1000px) translateX(46px) translateZ(50px) rotateY(180deg);
    -webkit-transform:perspective(1000px) translateX(46px) translateZ(50px) rotateY(180deg);                
  }
       
  100% {
    -moz-transform-origin:right;
    -webkit-transform-origin:right;
    -moz-transform:perspective(1000px) translateX(-46px) translateZ(-50px) rotateY(-180deg);
    -webkit-transform:perspective(0px) translateX(0px) translateZ(0px) rotateY(0deg);                
  }      
}

@keyframes my-right {
  50% {
    transform-origin:right;
    transform:perspective(0px) translateX(46px) translateZ(50px) rotateY(180deg);
  }
          
  100% {
    transform-origin:right;
    transform:perspective(0px) translateX(0px) translateZ(0px) rotateY(0deg);
  }
}
<div id="right" class="basic">right</div>

关于html - Chrome 中 CSS3 动画无法正常返回 0%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36000819/

相关文章:

html - 在 BS4 ekko-lightbox 中对齐页脚文本

HTML Flexbox 画廊

php - 满足条件时 if 语句不执行(条件 : two variable are NULL)

javascript - 无需在 Javascript 中编写 HTML 的 Web 组件

html - div 没有出现在 brother navbar div 下面?

html - 绝对类位于另一个绝对类之上

html - 卡片翻转在 IE10 中无法正常工作

php - 使用准备好的 PDO 语句

CSS 类规范未用于 html5 中的图标按钮

html - 不透明度问题