无限CSS3动画闪烁

时间:2019-03-18 18:20:55

标签: css css3

我在这个CSS3动画中看到一些奇怪的间歇性闪烁。当前在Chrome中为我们显示。

https://codepen.io/jwhitewd/pen/oQxZxy

HTML

 <div class="sk-cube-grid">
      <div class="sk-cube sk-cube1"></div>
      <div class="sk-cube sk-cube2"></div>
      <div class="sk-cube sk-cube3"></div>
      <div class="sk-cube sk-cube4"></div>
      <div class="sk-cube sk-cube5"></div>
      <div class="sk-cube sk-cube6"></div>
      <div class="sk-cube sk-cube7"></div>
      <div class="sk-cube sk-cube8"></div>
  </div>

CSS

 .sk-cube-grid .sk-cube {
      width: 33%;
      height: 33%;
      background-color: #7B7B7B;
      border-left:6px solid #ffcc00;
      float: left;
      margin:5px;
      border-radius:2px;
      -webkit-animation: sk-cubeGridScaleDelay 2.3s infinite ease-in-out;
              animation: sk-cubeGridScaleDelay 2.3s infinite ease-in-out; 
    }
    .sk-cube-grid .sk-cube1 {
      -webkit-animation-delay: 0.2s;
              animation-delay: 0.2s; }
    .sk-cube-grid .sk-cube2 {
      -webkit-animation-delay: 0.3s;
              animation-delay: 0.3s; }
    .sk-cube-grid .sk-cube3 {
      -webkit-animation-delay: 0.4s;
              animation-delay: 0.4s; }
    .sk-cube-grid .sk-cube4 {
      -webkit-animation-delay: 0.1s;
              animation-delay: 0.1s; }
    .sk-cube-grid .sk-cube5 {
      -webkit-animation-delay: 0.2s;
              animation-delay: 0.2s; }
    .sk-cube-grid .sk-cube6 {
      -webkit-animation-delay: 0.3s;
              animation-delay: 0.3s; }
    .sk-cube-grid .sk-cube7 {
      -webkit-animation-delay: 0s;
              animation-delay: 0s; }
    .sk-cube-grid .sk-cube8 {
      -webkit-animation-delay: 0.2s;
              animation-delay: 0.2s; }

    @-webkit-keyframes sk-cubeGridScaleDelay {
      0%, 70%, 100% {
        -webkit-transform: scale3D(1.2, 1.2, 1.2);
                transform: scale3D(1.2, 1.2, 1.2);
      } 35% {
        -webkit-transform: scale3D(0, 0, 1);
                transform: scale3D(0, 0, 1); 
      }
    }

    @keyframes sk-cubeGridScaleDelay {
      0%, 70%, 100% {
        -webkit-transform: scale3D(1, 1, 1);
                transform: scale3D(1, 1, 1);
      } 35% {
        -webkit-transform: scale3D(0, 0, 1);
                transform: scale3D(0, 0, 1);
      } 
    } 

可能是什么原因造成的?大概与动画的时间和缩放有关,但是我们无法弄清楚它可能是什么。

还值得注意的是,此问题仅出现在Windows版Chrome上,而不出现在MacOS上。

谢谢!

1 个答案:

答案 0 :(得分:0)

px中而不是%中设置立方体的高度,例如:

height: 20px;

查看更新的代码笔:flickering