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>