#css
Вопрос:
Как анимировать изображение слева вверху до 90 градусов, а затем остановить анимацию.
.sub-page-logo img {
position: absolute !important;
top: 0;
left: 0;
width: 300px;
animation-name: spin;
animation-duration: 1000ms;
animation-timing-function: linear;
}
@keyframes spin {
from {
transform: rotate(0deg);
} to {
transform: rotate(90deg);
}
}
Комментарии:
1. То, что у вас есть, должно работать, с чем именно у вас проблемы? (Есть несколько других свойств, которые могут помочь, в зависимости от того, чего вы хотите достичь, например, режим анимации-заливки , начало преобразования )
Ответ №1:
Я предполагаю, что после завершения анимации логотип вернется к 0deg. Вы должны быть в состоянии исправить это, если добавите: transform: rotate(90deg);
к своему .sub-page-logo img
подобному, чтобы:
.sub-page-logo img{
...
transform: rotate(90deg);
}
Ответ №2:
Я думаю, вы хотите сохранить конечное состояние анимации для своего элемента.
Определение MDN (https://developer.mozilla.org/en-US/docs/Web/CSS/animation-fill-mode):
CSS-свойство animation-fill-mode задает, как CSS-анимация применяет стили к своей цели до и после ее выполнения.
.sub-page-logo img {
position: absolute !important;
top: 0;
left: 0;
width: 300px;
animation-name: spin;
animation-duration: 1000ms;
animation-timing-function: linear;
animation-fill-mode: forwards; //<--- THIS
}
@keyframes spin {
from {
transform: rotate(0deg);
} to {
transform: rotate(90deg);
}
}