Баги CSS анимации

На этой странице будут показаны баги CSS анимаций с запускаемыми примерами кода.

Содержание

Баг разных форматов

Описание

Заключается в том, что при указании относительного или абсолютного значения анимация перестаёт проигрываться при условии, что у элемента установлен другой формат значения для этого же свойства.

Этому багу подвержена Opera 12.14 - на движке Presto, и, может быть, другие её версии.

В последних версиях FireFox, Chromium всё в порядке. Internet Explorer НЕ ОТТЕСТИРОВАН

Наведите указателем мыши на квадрат, чтобы проиграть тест — квадрат должен плавно изменить ширину до конца блока, в который обёрнут.

Снизу должен быть квадрат — не прямоугольник.

Запускаемый пример

Исходный код для этого примера

HMTL

<div class="testcase">
    <!-- простой кубик для теста -->
</div>

JavaScript

/* скриптов нет, всё на CSS */

CSS

Ниже приведён CSS для этого теста.

Обратите внимание на значение свойства width в блоке ключевых кадров, и в правиле для самого элемента — в блоке ключевых кадров указано относительное значение 100%, а в правиле для элемента — абсолютное 50px

@-webkit-keyframes test-dimension { 
    100% { 
        width: 100%;
    }
}
@-moz-keyframes test-dimension { 
    100% { 
        width: 100%;
    }
}

@-o-keyframes test-dimension { 
    100% { 
        width: 100%;
    }
}
@keyframes test-dimension { 
    100% { 
        width: 100%;
    }
}

.testcase {
    
    width: 50px;
    
    -webkit-animation-name: test-dimension;
    -webkit-animation-duration: 2s;
    -webkit-animation-play-state: paused;
    
    -moz-animation-name: test-dimension;
    -moz-animation-duration: 2s;
    -moz-animation-play-state: paused;
    
    -o-animation-name: test-dimension;
    -o-animation-duration: 2s;
    -o-animation-play-state: paused;
    
    animation-name: test-dimension;
    animation-duration: 2s;
    animation-play-state: paused;
}
.testcase:hover {
    -webkit-animation-play-state: running;
    -moz-animation-play-state: running;
    -o-animation-play-state: running;
    animation-play-state: running;
}
Fork me on GitHub