Генерация и разделение сетки с помощью css/js/php


Я работаю над веб-проектом и думаю о том, как лучше всего подойти к следующему сценарию:

У меня есть куча изображений в базе данных, и я хочу загрузить их в сетку. Изображения с высоким рейтингом должны иметь больший холст, в то время как изображения с более низким/низким рейтингом - нет. Размер изображений не является стандартным, поэтому это может быть либо портретная, либо пейзажная картинка с разными размерами. Соотношение сторон должно оставаться неизменным, а окно должно быть полностью заполнено по горизонтали (с шириной 100%). Пользователи могут прокручивать по вертикали.

Чтобы дать вам представление о разделении полей в сетке, я прикрепил быстрый каркас.grid division

У вас, ребята, есть идея, как лучше всего подойти к этому? Я подумал, может быть, мне следует "стандартизировать" несколько строк. И размещайте строки случайным образом, чтобы они не выглядели заранее заданными. Но это, очевидно, на самом деле не рассчитано. Любые мысли приветствуются!

Author: dandoen, 2011-08-09

2 answers

В итоге пришлось использовать каменную кладку http://masonry.desandro.com/

Я устанавливаю ширину каждого отдельного столбца, разделяя окно.ширина на 5.

 1
Author: dandoen, 2011-08-22 20:13:25

Если эта сетка работает для вас http://css-tricks.com/13372-seamless-responsive-photo-grid / вы можете найти алгоритм одномерной упаковки контейнеров. Этот алгоритм разбивает экран на вертикальные ячейки одинаковой ширины. Затем он просматривает вашу коллекцию в поисках первой, лучшей, следующей или худшей подгонки. Вы можете комбинировать каждый метод со случайным порядком, порядком убывания или порядком увеличения. Это очень сложная проблема для решения, может быть, вы хотите попробовать грубую силу решение?

 0
Author: Bytemain, 2011-08-09 19:11:26