Отключить CSS анимации

#css #css-animations

Вопрос:

Я анимировал с помощью функции 2 @keyframe и пытаюсь отключить одну из них при входе в мобильное представление. Как отключить анимацию: перемещение? Это мой код.

     /* Animate */
span {
    animation: 
    animate 5s linear infinite,
    moving 18s infinite;
    outline: none;
    line-height: 0.70em;
}

@keyframes animate {
    0%
    {
        color: #fff;
        text-shadow: none;
    }
    100%
    {
        color: #B37A4C;
        text-shadow: 0 0 10px #B37A4C;
    }
}

@keyframes moving {
    0%{margin-left: 100px;}
    10%{margin-left: 50px;}
    20%{margin-right: 100px;}
    30%{margin-right: 50px;}
    40%{margin-left: 100px;}
    50%{margin-left: 50px;}
    60%{margin-right: 100px;}
    70%{margin-right: 50px;}
    80%{margin-left: 100px;}
    90%{margin-left: 50px;}
    100%{margin-right: 100px;}
}
/* animate */












/* media queries  */

@media (max-width:1200px){

    html{
        font-size: 55%;
    }

    .home{
        padding:1rem 4rem;
    }

}

@media (max-width:991px){

header{
    left:-120%;
}

#menu{
    display: block;
}

header.toggle{
    left:0%;
}

body{
    padding:0;
}


}

@media (max-width:768px){

    html{
        font-size: 50%;
    }

}

@media (max-width:400px){

    header{
        width: 100vw;
    }

    .heading{
        margin:0 3rem;
    }

    .about .row .counter .box{
        width: 100%;
    }

    .education .box-container .box{
        width:100%;
    }

    .portfolio .box-container .box{
        width:100%;
    }

    .contact .row form{
        margin:3rem 0;
    }

    span .moving{
        display: none;
    }

}
 

Как отключить перемещение @keyframe в @media (максимальная ширина:400 пикселей)?
Похоже, что ваш пост в основном состоит из кода; пожалуйста, добавьте еще несколько деталей.
Похоже, что ваш пост в основном состоит из кода; пожалуйста, добавьте еще несколько деталей.
Похоже, что ваш пост в основном состоит из кода; пожалуйста, добавьте еще несколько деталей.
Похоже, что ваш пост в основном состоит из кода; пожалуйста, добавьте еще несколько деталей.
Похоже, что ваш пост в основном состоит из кода; пожалуйста, добавьте еще несколько деталей.
Похоже, что ваш пост в основном состоит из кода; пожалуйста, добавьте еще несколько деталей.

Комментарии:

1. вы можете добавить медиа-запрос, например @media (максимальная ширина:460 пикселей){ промежуток { анимация: анимация 5s линейная бесконечная, /// добавьте только тот, который вы хотите применить }} // анимированная анимация должна быть ниже этого медиа-запроса

2. Он все еще анимирует 2 анимации, потому что этот код не отключил исходный код.

Ответ №1:

После того как вы зададите 2 анимации для каждого промежутка, установите только первую в своем медиа-запросе:

 @media (max-width: 400px) {
    span {animation: 
    animate 5s linear infinite;
    outline: none;
    line-height: 0.70em;
  }
}
 

Таким образом, ваш CSS становится:

     /* Animate */
span {
    animation: 
    animate 5s linear infinite, moving 18s infinite;
    outline: none;
    line-height: 0.70em;
}

@media (max-width: 400px) {
    span {animation: animate 5s linear infinite;
    outline: none;
    line-height: 0.70em;
  }
}

@keyframes animate {
    0%
    {
        color: #fff;
        text-shadow: none;
    }
    100%
    {
        color: #B37A4C;
        text-shadow: 0 0 10px #B37A4C;
    }
}

@keyframes moving {
    0%{margin-left: 100px;}
    10%{margin-left: 50px;}
    20%{margin-right: 100px;}
    30%{margin-right: 50px;}
    40%{margin-left: 100px;}
    50%{margin-left: 50px;}
    60%{margin-right: 100px;}
    70%{margin-right: 50px;}
    80%{margin-left: 100px;}
    90%{margin-left: 50px;}
    100%{margin-right: 100px;}
}
 

Ответ №2:

Если вы добавите новое объявление анимации для этого элемента после других стилей, он будет применять только один набор, завернутый в медиа-запрос или нет.

     /* Animate */
span {
    animation: 
    animate 5s linear infinite,
    moving 18s infinite;
    outline: none;
    line-height: 0.70em;
    font-size:20px;
}

@keyframes animate {
    0%
    {
        color: #fff;
        text-shadow: none;
    }
    100%
    {
        color: #B37A4C;
        text-shadow: 0 0 10px #B37A4C;
    }
}

@keyframes moving {
    0%{margin-left: 100px;}
    10%{margin-left: 50px;}
    20%{margin-right: 100px;}
    30%{margin-right: 50px;}
    40%{margin-left: 100px;}
    50%{margin-left: 50px;}
    60%{margin-right: 100px;}
    70%{margin-right: 50px;}
    80%{margin-left: 100px;}
    90%{margin-left: 50px;}
    100%{margin-right: 100px;}
}
/* animate */


span {
    animation:moving 18s infinite;
    outline: none;
    line-height: 0.70em;
} 
 <span>span</span>