仅在 IE 上闪烁 CSS 动画

Doc*_*sao 5 debugging cross-browser flicker css-animations internet-explorer-11

我有以下代码在现代浏览器上运行良好,IE11 除外:

一个简单的伪元素动画无限旋转。

@keyframes spin{
  0% {
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-moz-keyframes spin{
  0% {
    -moz-transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(360deg);
  }
}

@-webkit-keyframes spin{
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}

.spin-container{
  position: relative;
  width: 400px;
  height: 300px;
  margin: 2em auto;
  box-sizing: border-box;
}
  

.spin-container::after{
  content: "";
  position: absolute;
  display: block;
  opacity: 1;
  border-color: rgba(0, 0, 0, 0.2) green green rgba(0, 0, 0, 0.2);
  border-radius: 100%;
  border-style: solid;
  border-width: 10px;
  width: 100px;
  height: 100px;
  bottom: 50px;
  right: calc(50% - 50px);
  border-radius: 100%;
  -webkit-animation: spin 1s linear infinite;
  -moz-animation: spin 1s linear infinite;
  -ms-animation: spin 1s linear infinite;
  animation: spin 1s linear infinite;
}
Run Code Online (Sandbox Code Playgroud)
<div class="spin-container"></div>
Run Code Online (Sandbox Code Playgroud)

几个星期以来,我一直在寻找原因,但我无法确定可能导致这种情况的属性。

我首先怀疑转换源不是我的伪元素微调器的中心,但似乎默认值适用50% 50% 0于每个浏览器。

然后我查看了 z 轴修改,或者疯狂的继承,但我绝对没有发现。

有谁知道为什么这会在 IE11 上闪烁,而不是在其他浏览器上?

Pau*_*tte 2

IE11存在一些与硬件加速和CSS动画相关的问题:

微软仅修复 IE11 中的安全相关问题,因此该问题很可能仍未得到解决。