Вы, вероятно, не можете получить то, что хотите, только с помощью CSS / HTML, но вы можете подойти немного ближе.
Я использовал трюк для фотоальбома:
- Убедитесь, что каждый канал имеет фиксированную ширину, я бы порекомендовал что-то вроде '20em';
- Убедитесь, что каждый корм имеет одинаковую высоту.
- Плавай все, что осталось.
Поскольку каждый div имеет одинаковые размеры, при перемещении влево он сформирует сетку с точно таким количеством столбцов, которое поместится в вашем браузере.
Если вы на самом деле не фиксируете высоту divов и не используете CSS для обрезки содержимого, вам понадобится JavaScript для шага 2, что я и сделал:
- Итерируйте по каждому элементу подачи, находя самый высокий элемент.
- Повторяйте итерации по каждому div, изменяя высоту в соответствии с div, найденным на первом шаге.
Это довольно легко реализовать, но, очевидно, не оптимально. Я с нетерпением жду, чтобы прочитать любые лучшие решения, размещенные здесь:)