https://developer.mozilla.org/ru/docs/Mozilla/Mobi... - статья, советую прочитать.
У "флексов" есть удобная штука - flex-wrap (переносит элементы контейнера на новую строку, если не хватает места)
Да и вообще советую прочитать пару статей о flexbox, там будет понятно