Учитывая следующую анимацию CSS3....
<style type="text/css" media="screen">
.drop_box {
-webkit-animation-name: drop;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: 1;
}
@-webkit-keyframes drop {
from {
-webkit-transform: translateY(0px);
}
to {
-webkit-transform: translateY(100px);
}
}
</style>
<div class="drop_box">
Hello world
</div>
Текст Hello World оживает, как ожидается, сбрасывая 100px. Однако в конце анимации он возвращается в исходное положение.
Ясно, что это имеет смысл в CSSland. Анимация была применена и больше не действует на элемент, чтобы исходные стили вступили в силу. Мне кажется немного странным, хотя, конечно, если кто-то оживляет элемент на месте, то можно было бы ожидать, что его сохранение сохранится?
Есть ли способ сделать конечную позицию "липкой", не прибегая к Javascript, чтобы пометить имя класса или стиль для элемента в конце анимации, чтобы исправить его измененные свойства? Я знаю, что переходы сохраняются, но для рассматриваемой анимации (пример предназначен только для демонстрации) переходы не дают необходимого уровня контроля. Без этого кажется, что сложные анимации применимы только для круговых процессов, в которых элемент возвращается в исходное состояние.