Как сделать @keyframes начать с текущего значения свойства?
Я пытаюсь применить эффект минимизации / максимизации к div через ключевые кадры и анимации в css. Хотя простой, не анимированный эффект сам по себе довольно прост (я уже добавил его), необходимость в отправной точке (от{...}) для кадров сводит меня с ума! Я уже пробовал с пустым из свойства, вычеркнуть его и с фиктивным, не связанным атрибутом (например, непрозрачность: 1, где непрозрачность не нужна) или с автоматическими значениями для необходимых свойств, но до сих пор мне не повезло. Так что ... вопрос в том, есть ли способ установить ключевые кадры, чтобы он начинался с текущих значений свойств div? Чтобы быть более конкретным, могу ли я расширить ширину и высоту div до заданного размера, начиная с его текущего, общего, ширины и высоты?
мой код до сих пор (соответствующих код):
@-webkit-keyframes maxWin{
from
{
/* width: auto; or width: ; or nothing at all */
/* height: auto; or height: ; or nothing at all */
/* left: auto; or left: ; or nothing at all */
/* top: auto; or top: ; ...you know. */
}
to
{
width: 100% !important;
height: 100% !important;
left: 0px !important;
top: 0px !important;
}
}
@-webkit-keyframes minWin
{
from
{
/*width: auto; or width: ;*/
/*height: auto; or height: ;*/
}
to
{
width: 200px !important;
height: 30px !important;
}
}
....
.maximized
{
/*width: 100% !important;
height: 100% !important;
left: 0px !important;
top: 0px !important;*/ Plain maximize effect. Works.
-webkit-animation: maxWin 1s normal forwards !important;
animation: maxWin 1s normal forwards !important;
}
.minimized
{
/*width: 200px !important;
height: 30px !important;*/ Plain minimize effect. Also works.
-webkit-animation: minWin 1s normal forwards !important;
animation: minWin 1s normal forwards !important;
}
1 ответов
если вы просто обеспокоены установкой конечного состояния относительно текущего состояния элемента, вы хотите transition
не animation
.
переходы позволяют установить желаемый результат, а затем ключевые кадры автоматически экстраполируются из текущего состояния элемента.
например, ниже-применение .minimized
класс .window
уменьшит его размер только с указанными конечными точками.
.window{
transition: all 250ms ease-in;
width: 100%;
height: 100%;
}
.minimized{
width: 200px !important;
height: 30px !important;
}