Вместо дисплея: flex, чтобы держать все в одной строке, вы можете использовать display: хорошо реализована таблица / ячейка таблицы:
https://jsbin.com/cobiyugafo/1/edit (runing & редактируемый из Inte rnet Explorer 11)
.marquee--container {
width: 100%;
padding: 1em;
display: flex;
align-items: center;
box-sizing: border-box;
overflow: hidden;
min-width:0;
}
.marquee--content {
display: table; /* <=== here */
border-spacing: 0.6rem 0;
}
.scroll {
animation: scroll 20s linear infinite;
}
.scroll.reverse {
animation-direction: reverse;
}
.marquee--content:hover {
animation-play-state: paused;
}
.marquee--item {
display: table-cell; /* <=== here */
/* margin replaced by border-spacing */
transition: all 0.2s ease;
}
.marquee--item:hover {
background: rgba(255,255,255,0.5);
transform: scale(1.03);
cursor: pointer;
}
.marquee--item img {
border-radius: 1rem;
}
@keyframes scroll {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-50%);
}
}