#css #animation
Вопрос:
У меня есть неупорядоченный список, и я хотел бы просмотреть каждый элемент списка 1 на 1. В настоящее время у меня есть полуработающее решение, но если вы посмотрите внимательно, вы увидите, что, когда оно доходит до «пункта 4», оно начинает перекрываться с «пунктом 1» и несовместимо.
@keyframes fadein {
0% {
opacity: 0;
}
66% {
opacity: 0;
}
76% {
opacity: 1;
}
100% {
opacity: 1;
}
}
li {
list-style: none;
padding: 0;
font-size: 40px;
position: absolute;
width: 100%;
opacity: 0;
}
li:nth-of-type(1) {
animation: fadein 6s ease-in-out -4s infinite alternate;
}
li:nth-of-type(2) {
animation: fadein 6s ease-in-out 0s infinite alternate;
}
li:nth-of-type(3) {
animation: fadein 6s ease-in-out 4s infinite alternate;
}
li:nth-of-type(4) {
animation: fadein 6s ease-in-out 8s infinite alternate;
}
<ul class="usp__list">
<li class="usp__item">
Item 1
</li>
<li class="usp__item">
Item 2
</li>
<li class="usp__item">
Item 3
</li>
<li class="usp__item">
Item 4
</li>
</ul>
любая помощь в разработке того, как решить эту проблему, была бы отличной. Я предполагаю, что это как-то связано с задержкой, но после того, как я попробовал много вариантов, у меня все еще есть эта основная проблема.
Скрипка — https://jsfiddle.net/15c4rd8v/
Ответ №1:
Твой animation-duration
слишком короткий. У вас есть animation-delay
до 8s
, но продолжительность только 6s
для перекрытия 2s
. Если вы установите длительность 8s
и измените анимацию ...66% {...} 76%...
75% {...} 80%...
ключевых кадров на «она работает».
@keyframes fadein {
0% {
opacity: 0;
}
75% {
opacity: 0;
}
80% {
opacity: 1;
}
100% {
opacity: 1;
}
}
li {
list-style: none;
padding: 0;
font-size: 40px;
position: absolute;
width: 100%;
opacity: 0;
}
li:nth-of-type(1) {
animation: fadein 8s ease-in-out -4s infinite alternate;
}
li:nth-of-type(2) {
animation: fadein 8s ease-in-out 0s infinite alternate;
}
li:nth-of-type(3) {
animation: fadein 8s ease-in-out 4s infinite alternate;
}
li:nth-of-type(4) {
animation: fadein 8s ease-in-out 8s infinite alternate;
}
<ul class="usp__list">
<li class="usp__item">
Item 1
</li>
<li class="usp__item">
Item 2
</li>
<li class="usp__item">
Item 3
</li>
<li class="usp__item">
Item 4
</li>
</ul>