анимация в виде рамки на IE11, Edge и Safari - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть эта маленькая анимация. Он работает на Chrome, Firefox, но не на IE11 и Edge. Недавно я попробовал это на iphone 6s моего друга с ios 11, и это также не работает. единственная причина, по которой я заставил это «работать», заключалась в том, что я устанавливал тень блока перед тем, как анимация запускается. кстати преобразование работает правильно

import React from 'react';
const LoadingPage = () => (
  <div className="page">
    <div className="centered" id="loading-page">
      <div className="wrapper">
        <div className="loading-container">
          <span className="loading">
            <span>L</span>
            <span>o</span>
            <span>a</span>
            <span>d</span>
            <span>i</span>
            <span>n</span>
            <span>g</span>
          </span>
        </div>
      </div>
    </div>
  </div>
);

export default LoadingPage;


*, :after, :before{
    box-sizing: border-box;
    padding:0;
    margin:0;
}

html{
    font-size: 62.5%;
    height: 100vh;
    width: 100vw;
}

body{
    background: #282c34
    color: #8A8A8A;
    font-family: 'lato',sans-serif;
    font-size: 16px;
    overflow: hidden;
    height: 100vh;
    width: 100vw;
}
.page{
    background: #282c34;
    position: absolute;
    top:0;
    left:0;
    text-align: center;
    overflow-x: auto;
    width: 100vw;
    height: 100vh;
    z-index: 1;
}
.centered{
    padding: 5% 0 5%;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}
.wrapper{
    max-width: 33.5rem;
    margin: 0 auto;
    @media (min-width: 36em){
        max-width: 50rem;
    }
    @media (min-width: 62em){
        max-width: 60rem;
    }
    @media (min-width: 75em{
        max-width: 80rem;
    }
    @media (min-width: 87.5em){
        max-width: 101rem;
    }
}
#loading-page{
    height: 100%;
    justify-content: center;
}

.loading-container{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
}

.loading {
    margin: 1em auto;
    font-family: 'Montserrat',sans-serif;
}
.loading span {
    font-size:3rem;
    color:#61afef;
    background:#262B37;
    display: table-cell;
    padding: 0 1.5rem;
    line-height: 10rem;
    animation: jumb 2s infinite;
}

@keyframes jumb {
    0% {
        transform:translateY(0);
    }
    50% {
        transform:translateY(-3rem);
        box-shadow:0 1.5rem 0 #61afef;

    }
    100% {
        transform:translateY(0);
    }
}
.loading span:nth-child(1) {
    animation-delay:0s;
}
.loading span:nth-child(2) {
    animation-delay:.1s;    
}
.loading span:nth-child(3) {
    animation-delay:.2s;
}
.loading span:nth-child(4) {
    animation-delay:.3s;    
}
.loading span:nth-child(5) {
    animation-delay:.4s;
}
.loading span:nth-child(6) {
    animation-delay:.5s;    
}
.loading span:nth-child(7) {
    animation-delay:.6s;
}

Я хочу знать, почему это происходит, чтобы избежать этого в будущем

1 Ответ

0 голосов
/ 28 ноября 2018

Кажется, это ошибка. Вы уже исправили это.

просто установите box-shadow: none изначально и IE11 способен анимировать box-shadow.

...