Если по какой-то причине вам нужно хранить логи анимации c внутри файла CSS, то вам понадобится Sass / S css для построения al oop (см. Пример здесь ). Pure CSS не сможет этого достичь.
Однако гибрид React / inline CSS может помочь. В вашем компоненте React:
{colors.map((color, i) => (
<p style={{animation: `fade-animation 30s linear ${i * 5}s infinite`}}>{color}</p>
))}
Вам также может понадобиться обновить анимацию следующим образом, чтобы показ / скрытие происходило последовательно. Для вышеприведенной анимации 30-х годов с 6 цветами, следующие настройки анимации будут воспроизводиться правильно.
@keyframes fade-animation {
0% {
opacity: 0;
}
8.3% {
opacity: 1;
}
16.6% {
opacity: 0;
}
100% {
opacity: 0;
}
}
Для проработки математики анимации просто убедитесь, что выполнены следующие 2 вещи:
Для n
элементов в массиве, от которых вы будете * sh до l oop:
Процент времени, в течение которого элемент отображается на экране, должен составлять 100 / n
(в нашем примере выше, это кадры в диапазоне от 0% до 16,6%, где непрозрачность не равна 0).
Каждый элемент задерживается на m / n
, где m
- длина анимации (снова в нашем примере выше вся анимация занимает 30 секунд, поэтому каждый элемент задерживается на дополнительные 5 секунд).