It depends on how you want it to look. Flexbox is a good option for laying things out in a horizontal or vertical row. A grid system (like bootstrap’s) is still a viable option as well. Support for css grids is still pretty non-existent, so don’t try to use them. If you want a pinterest-type layout use masonry.js or css columns.
You shouldn’t need absolute positioning, except for maybe a lightbox/modal or something.