Создайте контейнер, входящие в него ряды блоков равны 100% ширины контейнера,
ширину каждого блока или хардкорьте процентами, или примените js для расчёта.
Высоту аналогично.
Чтобы не мучиться расчётами, используйте flex: auto, -shrink, -grow; align stretch
картинки бэкграундом через cover и contain
если нужен код, скажите, накидаю