keyframe animation does not work on safari for iOS

岁酱吖の 提交于 2019-12-20 03:18:01

问题


All the browsers (chrome, ie, firefox, safari) on windows show the animation as they should. When I have tried it on my iphone, the animation would not work. Any ideas why?

Here is my CSS:

#rotatingDiv {
  position: relative;
  z-index: 0;
  display: block;
  margin: auto;
  height: 30px;
  width: 30px;
  -webkit-animation: rotation .7s infinite linear;
  -moz-animation: rotation .7s infinite linear;
  -o-animation: rotation .7s infinite linear;
  animation: rotation .7s infinite linear;
  border-left: 8px solid rgba(0, 0, 0, .20);
  border-right: 8px solid rgba(0, 0, 0, .20);
  border-bottom: 8px solid rgba(0, 0, 0, .20);
  border-top: 8px solid rgba(33, 128, 192, 1);
  border-radius: 100%;
}
@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
@-webkit-keyframes rotation {
  from {
    -webkit-transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(359deg);
  }
}
@-moz-keyframes rotation {
  from {
    -moz-transform: rotate(0deg);
  }
  to {
    -moz-transform: rotate(359deg);
  }
}
@-o-keyframes rotation {
  from {
    -o-transform: rotate(0deg);
  }
  to {
    -o-transform: rotate(359deg);
  }
}

回答1:


I arrived here with the same problem, then tried something which worked :

Try renaming each of your keyframes (and animations) to something unique for every browser prefix.

eg:

#rotatingDiv {
  position: relative;
  z-index: 0;
  display: block;
  margin: auto;
  height: 30px;
  width: 30px;
  /* renamed these */
  -webkit-animation: webkit-rotation .7s infinite linear; 
  -moz-animation: moz-rotation .7s infinite linear;
  -o-animation: o-rotation .7s infinite linear;
  animation: rotation .7s infinite linear;
  border-left: 8px solid rgba(0, 0, 0, .20);
  border-right: 8px solid rgba(0, 0, 0, .20);
  border-bottom: 8px solid rgba(0, 0, 0, .20);
  border-top: 8px solid rgba(33, 128, 192, 1);
  border-radius: 100%;
}
@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
/* and renamed these accordingly */
@-webkit-keyframes webkit-rotation {
  from {
    -webkit-transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(359deg);
  }
}
@-moz-keyframes moz-rotation {
  from {
    -moz-transform: rotate(0deg);
  }
  to {
    -moz-transform: rotate(359deg);
  }
}
@-o-keyframes o-rotation {
  from {
    -o-transform: rotate(0deg);
  }
  to {
    -o-transform: rotate(359deg);
  }
}


来源:https://stackoverflow.com/questions/30745152/keyframe-animation-does-not-work-on-safari-for-ios

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!