Проблема в том, что когда вы используете, например, left: -8px
для сдвига ваших элементов, он перемещает элемент относительно того места, где он был, но контейнер ведет себя так, как если бы элемент находился в исходном положении - так что вы все равно получите перекомпоновку, если контейнер слишком узкий.
Вы должны выглядеть так, как будто вы используете display:flex
для этого типа макета. Таким образом, вы можете либо объединить свои изображения (по умолчанию), либо автоматически распределить их, используя justify-content:space-between
.
Codepen здесь