Мерцающая CSS анимация только в IE

У меня следующий код работает нормально на современных браузерах, кроме 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;
}
<div class="spin-container"></div>

Я искал причину вот уже несколько недель и не могу определить свойство, которое может это вызвать.

Сначала я подозревал, что источник преобразования не является центром моего счетчика псевдоэлементов, но кажется, что значение по умолчанию 50% 50% 0 для каждого браузера.

Затем я посмотрел на модификацию оси z или на сумасшедшее наследование, но определенно ничего не нашел.

Кто-нибудь знает, почему это мерцает на IE11, а не на других браузерах?

1 ответ

Решение

В IE11 есть некоторые проблемы, связанные с аппаратным ускорением и CSS-анимацией:

Microsoft только исправляет проблемы безопасности в IE11, поэтому, скорее всего, это останется не исправленным.

Другие вопросы по тегам