Реагировать на модальные анимации модальных ключевых кадров

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

@keyframes modalSlide {
  from {
    transform: translateY(-50%);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

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

2 ответа

Решение

Попробуйте положительное значение для translateY в ключевых кадрах from:

@keyframes modalSlide {
  from {
    transform: translateY(100%);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }

}

translateY означает перемещение элемента на y ось. Где ваш элемент расположен по умолчанию, значение на y ось (как и на двух других осях) 0,

Так что если вы хотите переместить свой элемент вверх на y ось, ты пишешь (-distance), Если вы хотите переместить его вниз, вы пишете (+distance)

Итак, если вы хотите, чтобы ваш элемент пришел снизу, вам нужно сначала расположить его ниже позиции по умолчанию. Используя положительное значение. А затем прикрепите к нему анимацию.

Таким образом добавить transform:translateY(50%) также к самому модалу, чтобы перезаписать его положение по умолчанию.

@keyframes modalSlide {
  from {
    transform: translateY(50%);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.modal {
background:red;
width:10px;
height:100px;
animation:modalSlide 0.5s ease-out forwards;
transform: translateY(50%);
}
<div class="modal">
</div>

Другие вопросы по тегам