Спасибо. Только не понятно зачем свойство backface-visibility: hidden. Оно, как я понимаю, скрывает обратную сторону блока, при анимации, когда мы переворачиваем блок.
Да, нужно оборачивать в блоки и указывать абсолютное позиционирование и указывается object-fit: cover. Это делается для того, чтобы изображение автоматически изменяло размеры и занимало всю ширину и высоту контейнера. Посмотри как оно подстраивается на моем примере, при изменение разрешения экрана. При этом высота остается постоянной.
Да, мне нужно изменить в существующем массиве. Ваше решение сработало. Можете объяснить зачем здесь arr[i], ведь forEach изменяет элементы в текущем массиве. elem - это и есть этот элемент, почему нельзя к нему применить изменения?