normal
Анимация проигрывается вперёд каждую итерацию, то есть, когда анимация заканчивается, она сразу сбрасывается в начальное положение и снова проигрывается. Это значение по умолчанию.
reverse
Анимация проигрывается наоборот, с последнего положения до первого и потом снова сбрасывается в конечное положение и снова проигрывается.
alternate
Анимация меняет направление в каждом цикле, то есть в первом цикле она начинает с начального положения, доходит до конечного, а во втором цикле продолжает с конечного и доходит до начального и так далее, в зависимости от количества циклов анимации animation-iteration-count.
alternate-reverse
Анимация начинает проигрываться с конечного положения и доходит до начального, а в следующем цикле продолжая с начального переходит в конечное, в зависимости от количества итераций анимации animation-iteration-count.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="index.css" rel="stylesheet">
<title>Document</title>
</head>
<body>
<div class="main">
<div class="divs1">1</div>
<div class="divs2">2</div>
<div class="divs3">3</div>
<div class="divs4">4</div>
</div>
</body>
</html>
.main{
height: 400px;
display: grid;
grid-template-columns: repeat(2,40%);
grid-template-rows: repeat(12, 1fr);
grid-template-areas: "div1 div2"
"div1 div2"
"div1 div2"
"div1 div2"
"div1 div2"
"div1 div2"
"div1 div4"
"div3 div4"
"div3 div4"
"div3 div4"
"div3 div4"
"div3 div4";
grid-gap: 80px;
}
.divs1{
border-radius: 30px;
grid-area: div1;
border: solid 2px;
background-color: green;
}
.divs2{
background-color: rgb(241, 183, 23);
border-radius: 30px;
grid-area: div2;
border: solid 2px;
}
.divs3{
background-color: rgb(212, 40, 155);
border-radius: 30px;
grid-area: div3;
border: solid 2px;
}
.divs4{
background-color: rgb(58, 145, 204);
border-radius: 30px;
grid-area: div4;
border: solid 2px;
}