Проблема заключается в использовании both
, который позволяет вам сохранить последнее состояние вашей анимации, таким образом, преобразование внутри анимации переопределит то, что при наведении, которое никогда не активируется.
Вы можетеразделите вашу анимацию на 2 анимации и используйте both
или forwards
только с opacity
, и вы сможете получить переход после завершения анимации.
.linkblock {
margin: 20% 0;
}
.hlink {
width: 12%;
height: 60px;
padding: 0 10px;
background: rgba(0, 0, 0, 0.3);
display: inline-block;
text-align: center;
color: rgba(0, 0, 0, 0.6);
transition: all 0.5s ease;
opacity:0;
}
.hlink:hover {
transform: translate(0px, -20px) scale(1.2);
color: red;
background: rgba(0, 0, 0, 0.6)
}
@keyframes fadeInUp {
from {
transform: translate3d(0, 100%, 0);
}
}
@keyframes show {
to {
opacity:1;
}
}
.fadeInUp {
animation: fadeInUp 0.3s ease-in,
show 0.3s ease-in forwards;
}
.linkblock a:nth-child(1) {
animation-delay: 1.0s;
}
.linkblock a:nth-child(2) {
animation-delay: 1.1s;
}
.linkblock a:nth-child(3) {
animation-delay: 1.2s;
}
.linkblock a:nth-child(4) {
animation-delay: 1.3s;
}
.linkblock a:nth-child(5) {
animation-delay: 1.4s;
}
.linkblock a:nth-child(6) {
animation-delay: 1.5s;
}
.linkblock a:nth-child(7) {
animation-delay: 1.6s;
}
.linkblock a:nth-child(8) {
animation-delay: 1.7s;
}
<div class="linkblock">
<a href="#" class="fadeInUp hlink">fsdfsdf</a>
<a href="#" class="fadeInUp hlink">fsdfsdf</a>
<a href="#" class="fadeInUp hlink">fsdfsdf</a>
<a href="#" class="fadeInUp hlink">fsdfsdf</a>
<a href="#" class="fadeInUp hlink">fsdfsdf</a>
<a href="#" class="fadeInUp hlink">fsdfsdf</a>
</div>