Вы можете установить общее время анимации равным 9 секундам (= 4 секунды для анимации + 5 секунд для паузы) и соответственно отрегулировать процентные шаги, вычисляя процентную долю в 4 секунды по отношению к 9 секундам (= около 44%)
.card {
background: #00f;
width: 100px;
height: 100px;
animation: rotate 9s infinite;
}
@keyframes rotate {
22% {
transform: rotate(90deg);
}
44% {
transform: rotate(0deg);
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="card">A</div>
Дополнение: Вторая версия, где пауза составляет между вращением вперед и назад:
.card {
background: #00f;
width: 100px;
height: 100px;
animation: rotate 9s infinite;
}
@keyframes rotate {
22% {
transform: rotate(90deg);
}
78% {
transform: rotate(90deg);
}
100% {
transform: rotate(0deg);
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="card">A</div>
Еще одно дополнение: третья версия, с паузами между всеми поворотами:
(просто отрегулируйте значения в процентах и время анимации по желанию)
.card {
background: #00f;
width: 100px;
height: 100px;
animation: rotate 20s infinite;
}
@keyframes rotate {
25% {
transform: rotate(90deg);
}
50% {
transform: rotate(90deg);
}
75% {
transform: rotate(0deg);
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="card">A</div>