CSS анимация не работает с браузером Internet Explorer (преобразование) - PullRequest
0 голосов
/ 11 мая 2019

Я создал анимацию css (преобразование и ключевые кадры) для вращения куба.

Однако это не работает с браузером Internet Explorer.
Я также попробовал префикс поставщика (-ms-).
Но это не было решением.

В соответствии с требованиями проекта, если это невозможно, необходимо рассмотреть другое решение.

Возможно ли это сделать с помощью браузера Internet Explorer?

https://jsfiddle.net/1acjLn53/

HTML

<div class="cube">
  <div class="container">
    <div class="side m--1"></div>
    <div class="side m--2"></div>
    <div class="side m--3"></div>
    <div class="side m--4"></div>
    <div class="side m--5"></div>
    <div class="side m--6"></div>
  </div>
</div>

CSS

.cube {
  overflow: hidden;
  position: relative;
  top: 0;
  height: 126px;
  width: 126px;
}
.container {
  -webkit-animation: rotation 6s infinite;
  animation: rotation 6s infinite;
  margin: auto;
  position: relative;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  height: 56px;
  top: 50px;
  -webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  width: 56px;
}
.container > div {
  float: left;
  overflow: hidden;
  position: absolute;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  height: 56px;
  width: 56px;
}
.side.m--1 {
  background-color: #ccc;
  -webkit-transform: rotatex(90deg) translateX(0px) translateY(0px) translateZ(28px);
  transform: rotatex(90deg) translateX(0px) translateY(0px) translateZ(28px);
}
.side.m--2 {
  background-color: #aaa;
  -webkit-transform: rotateY(-90deg) translateX(0px) translateY(0px) translateZ(28px);
  transform: rotateY(-90deg) translateX(0px) translateY(0px) translateZ(28px);
}
.side.m--3 {
  background-color: #888;
  -webkit-transform: translateX(0px) translateY(0px) translateZ(28px);
  transform: translateX(0px) translateY(0px) translateZ(28px);
}
.side.m--4 {
  background-color: #aaa;
  -webkit-transform: rotateY(90deg) translateX(0px) translateY(0px) translateZ(28px);
  transform: rotateY(90deg) translateX(0px) translateY(0px) translateZ(28px);
}
.side.m--5 {
  background-color: #888;
  -webkit-transform: rotateY(180deg) translateX(0px) translateY(0px) translateZ(28px);
  transform: rotateY(180deg) translateX(0px) translateY(0px) translateZ(28px);
}
.side.m--6 {
  background-color: #ccc;
  -webkit-transform: rotateX(-90deg) translateX(0px) translateY(0px) translateZ(28px);
  transform: rotateX(-90deg) translateX(0px) translateY(0px) translateZ(28px);
}
@-webkit-keyframes rotation {
  0% {
    -webkit-transform: rotateX(-0deg) rotateY(0deg) rotateZ(0deg);
    transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  }
  25% {
    -webkit-transform: rotateX(90deg) rotateY(90deg) rotateZ(90deg);
    transform: rotateX(90deg) rotateY(90deg) rotateZ(90deg);
  }
  50% {
    -webkit-transform: rotateX(180deg) rotateY(180deg) rotateZ(0deg);
    transform: rotateX(180deg) rotateY(180deg) rotateZ(0deg);
  }
  75% {
    -webkit-transform: rotateX(270deg) rotateY(270deg) rotateZ(90deg);
    transform: rotateX(270deg) rotateY(270deg) rotateZ(90deg);
  }
  100% {
    -webkit-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
  }
}
@keyframes rotation {
  0% {
    -webkit-transform: rotateX(-0deg) rotateY(0deg) rotateZ(0deg);
    transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  }
  25% {
    -webkit-transform: rotateX(90deg) rotateY(90deg) rotateZ(90deg);
    transform: rotateX(90deg) rotateY(90deg) rotateZ(90deg);
  }
  50% {
    -webkit-transform: rotateX(180deg) rotateY(180deg) rotateZ(0deg);
    transform: rotateX(180deg) rotateY(180deg) rotateZ(0deg);
  }
  75% {
    -webkit-transform: rotateX(270deg) rotateY(270deg) rotateZ(90deg);
    transform: rotateX(270deg) rotateY(270deg) rotateZ(90deg);
  }
  100% {
    -webkit-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
  }
}
...